Swift 里 Array (四) Accessing Elements

根据下标取值

关键代码如下:

  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]
  }

猜你喜欢

转载自www.cnblogs.com/huahuahu/p/Swift-li-Array-si-Accessing-Elements.html