Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Breaking changes for Foundation API
Search
Kishikawa Katsumi
July 14, 2015
Programming
9.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Breaking changes for Foundation API
Kishikawa Katsumi
July 14, 2015
More Decks by Kishikawa Katsumi
See All by Kishikawa Katsumi
Accessibility APIでテキストの内容、位置、サイズを取得する実装パターン
kishikawakatsumi
0
110
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
380
OCRを使ってゲームのアイテムをデータ化する
kishikawakatsumi
0
220
Running Swift without an OS
kishikawakatsumi
0
1.2k
浮動小数の比較について
kishikawakatsumi
0
670
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
290
愛される翻訳の秘訣
kishikawakatsumi
3
520
Private APIの呼び出し方
kishikawakatsumi
3
1.1k
iOSでSVG画像を扱う
kishikawakatsumi
0
280
Other Decks in Programming
See All in Programming
Modernizing iOS Apps
seyfoyun
0
150
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
360
動画プレイヤーはなぜカクつくのか 〜Flutterのレンダリングとネイティブの境界を解剖する〜
naruogram
0
330
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.1k
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
Event is what happens
moro
2
3.5k
graphql-ruby を Spinel で速くしようとした話
mtsmfm
0
140
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
290
React Native経験者が Flutterを30⽇間触って驚いたこと
3saito
0
150
まずはコードより業務と向き合う:テーブル解体のためにPdMを呼んだ話
sakawe_ee
0
150
JIS keyboard support in Omarchy
lef237
0
180
Herb in Rails 8.2: Your ERB views, now HTML-aware @ Kaigi on Rails 2026, Tokyo, Japan
marcoroth
2
410
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
430
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
610
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
740
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
420
A Modern Web Designer's Workflow
chriscoyier
699
190k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Unsuck your backbone
ammeep
672
58k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
370
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.7k
Test your architecture with Archunit
thirion
2
2.5k
The Cult of Friendly URLs
andyhume
79
7.1k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
760
Transcript
Breaking changes for Foundation API in iOS 9
https://github.com/kishikawakatsumi/ Kishikawa Katsumi http://kishikawakatsumi.hatenablog.com/
None
Next Realm Meetup • 7/23ʢʣ • 19:00ʙ • Sansanגࣜձࣾ
NSMutableDictionary - (void)setObject:(nullable ObjectType)obj forKeyedSubscript:(KeyType <NSCopying>)key Xcode 7beta
NSMutableDictionary - (void)setObject:(nullable ObjectType)obj forKeyedSubscript:(KeyType <NSCopying>)key Xcode 7beta
nilΛೖ͢Δͱྫ֎ => ཁૉͷআ NSMutableDictionary<NSString *, NSNumber *> *dic = [[NSMutableDictionary
alloc] init]; dic[@"key"] = @(1); NSLog(@"%@", dic); // => {"key": 1} dic[@"key"] = nil; NSLog(@"%@", dic); // => {}
Xcode 6.x dic[@"key"] = nil; // NSInvalidArgumentException
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init]; dictionary[@"id"] = model.identifier; if
(self.name) { dictionary[@"name"] = model.name; } if (self.email) { dictionary[@"email"] = model.email; }
NS_REFINED_FOR_SWIFT Xcode 7beta
#if !defined(SWIFT_CLASS_EXTRA) || (defined(SWIFT_SDK_OVERLAY_FOUNDATION_EPOCH) && SWIFT_SDK_OVERLAY_FOUNDATION_EPOCH >= 5) - (nullable
id)decodeObjectOfClasses:(nullable NSSet<Class> *)classes forKey:(NSString *)key NS_AVAILABLE(10_8, 6_0) NS_REFINED_FOR_SWIFT; #else - (nullable id)decodeObjectOfClasses:(nullable NSSet<Class> *)classes forKey:(NSString *)key NS_AVAILABLE(10_8, 6_0); #endif