天天看點

Swfit 裡 Array(五)和 NSArray 轉換

Swfit 裡 Array(五)和 NSArray 轉換

隻看 Swift Array 到 NSArray

這裡看到,調用了<code>_asCocoaArray</code> 函數。

直接傳回了一個空的位址,注意所有的空數組都指向了同一個記憶體位址。

傳回真正持有元素的類。

傳回一個<code>__SwiftDeferredNSArray</code> 類型。

Swfit 裡 Array(五)和 NSArray 轉換

是一個 NSArray 的子類,實作了<code>objectAt(index)</code> 方法。

實作的核心在<code>withUnsafeBufferOfObjects</code>方法裡。

這一段的核心在于最後一個<code>else</code>裡的内容。

首先建立了一段緩沖區,其中存儲了數組中元素被 bridege 到 OC 對象的結果,然後對每一個緩存區中的元素增加一個引用。

下面是對<code>_bridgeAnythingToObjectiveC</code>的注釋。

繼續閱讀