WWDC 2015 Session 401

Swift and Objc interoperability

觀看 Objc 轉到 Swfit 的 Interface


一開始提到了哪些swift func 能導到objc

  • private func
  • 特別使用swift 功能的func(例如tuple)
  • 沒有使用@objc 的protocol



因為 Swift 和 Objc 辨識 Method 的方法不同

Swift 分辨 method by type

Objc分辨 method by name

使用@objc() 把它導到別的selector
使用新的@nonobjc 告知這個 func 不用轉到Objc


function pointer



Error Handling

Objc 與 Swift的對應1
Objc 與 Swift的對應2
Objc 與 Swift的對應3
Objc 與 Swift的對應4
Swift 自訂 Error Type


Swift 自訂 Error Type,自動產生的 Objc code
現有的 Cocoa Error


Nullability Qualifier

Xcode 7 更能感受到前陣子加入的 Nullability Qualifier。

在以前的 Objc 根本沒有辦法分辨,在你呼叫的方法當中,哪些參數是可以丟 nil 進去。

這次 Objc 跟隨上 Swift 的特性,透過 Nullability Qualifier。





可以對個別的指標指定不同的 Nullability Qualifier


Objc collection type 加入輕量級的泛型




向前相容,所以不會影響以前的code


__kindof