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

posted on 2019-03-22 00:50  花老🐯  阅读(241)  评论(0编辑  收藏  举报

导航