Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile

2 089 vues

Publié le

Swift 3 で NS Prefix が消去されたことについて、ざっくり広めに LT してきました。単純に消えるだけじゃない大きな変化、調べててなかなか面白かったです。

2016/10/01 第一回スタートアップiOS/Android勉強会 での発表資料です。

Publié dans : Ingénierie
  • Soyez le premier à commenter

NS Prefix - そこから見渡す Swift 3 の景色 #startup_mobile

  1. 1. 

  2. 2. // こちらは Foundation の Date 型 // こちらは自分の Date 型
  3. 3. // こちらは Foundation の Date 型 // こちらは自分の Date 型 // 衝突しなければ、名前空間は省略可能
  4. 4. let result: NSString = text.stringByReplacingOccurrencesOfString( pattern, withString: newText, options: NSStringCompareOptions .RegularExpressionSearch) let result = text.replacingOccurrences(of: pattern, with: newText, options: .regularExpression)
  5. 5. • NSObject • NSAutoreleasePool • NSException
  6. 6. • NSUserNotification • NSBackgroundActivityScheduler • NSXPCConnection
  7. 7. • NSString, String • NSData, Data • NSArray, Array<Element>
  8. 8. // Objective-C はクラスで頑張るしかない class Value : NSObject { … } class MutableValue : Value { … } // Swift は構造体にすると言語が積極サポート struct Value { … }
  9. 9. // 構造体だと Objective-C で使えない struct Value : NSObjectProtocol { … } struct MutableValue : NSObjectProtocol { … }
  10. 10. // Objective-C のクラスはそのまま残す class Value : NSObject { … } class MutableValue : Value { … } // Swift に構造体を新設する struct Value { … }
  11. 11. // Data と NSData は相互ブリッジ可能 let data = Data() as NSData let data = NSData() as Data // NSMutableData は Data から生成可能 let data = NSMutableData(data: Data()) // NSMutableData は NSData の mutableCopy で取得 let data = NSData().mutableCopy() // NSMutableData を Data へはブリッジ可能 let data = NSMutableData() as Data
  12. 12. let data1 = Data() // 他の変数に代入しても、必要時までは共有 var data2 = data1 as Data // 書込時に初めて、内容を複製(data1 から独立) data = NSMutableData(data: otherData)
  13. 13. • IndexSet • CharacterSet • Data
  14. 14. • Date • AffineTransform • Notification
  15. 15. • NSAttributedString • NSRegularExpression • NSPredicate
  16. 16. • NSLock
  17. 17. • class NSCache<AnyObject, AnyObject> • class NSMapTable<AnyObject, AnyObject> • class NSHashTable<AnyObject> • class NSOrderedSet

×