关键代码如下:
func _getElement(
_ index: Int,
wasNativeTypeChecked: Bool,
matchingSubscriptCheck: _DependenceToken
) -> Element {
#if _runtime(_ObjC)
return _buffer.getElement(index, wasNativeTypeChecked: wasNativeTypeChecked)
#else
return _buffer.getElement(index)
#endif
}
_ContiguousArrayBuffer
里的代码如下,只是取了一个指针的偏移。
internal func getElement(_ i: Int) -> Element {
_internalInvariant(i >= 0 && i < count, "Array index out of range")
return firstElementAddress[i]
}
Swift 里 Array (四) Accessing Elements
原文:https://www.cnblogs.com/huahuahu/p/Swift-li-Array-si-Accessing-Elements.html