wezzard
2014-12-01 17:52:42 +08:00
如果你不瞭解 C,那麼你還是學一下 Objective-C,因爲網上很多例子都是 Objective-C的,你如果深入瞭解 C 的話,那麼看懂 Objective-C 代碼並且理解到 Swift 和 Objective-C 運行時的不同應該很容易。
另外,Swift 和 Objective-C 的特性互不完全覆蓋,比如說 Swift 完全遵從 Liskov Substitution Principle,致使你要 override superclass 的 property 類型爲其原先類型的繼承者是不行的。又比如說在 Swift 中使用泛型會導致從 Objective-C 框架中派生出來的類型完全 Swift 化,無法再使用 NSCoding 來進行 persistent。又比如說 Swift 的對象創建語法導致非常不好寫 class cluster,我已經用 compositor 模式替代了所有的 class cluster。
如果你想精通 iOS 開發,Objective-C 是不可繞過的,因爲蘋果的根在那。而以 Swift 運行時的特性,蘋果完全把所有框架遷移到原生的 Swift 上是不可能的。