Wil*_*ken 2 collections range swift
文档说:
关联的Bound类型是CountableRange的元素和索引类型。范围的每个元素都是其自己对应的索引。CountableRange实例的下限是其开始索引,上限是其结束索引。
var lowerBound: Bound { get }
被宣布
var lowerBound: Bound
The range's lower bound.
In an empty range, lowerBound is equal to upperBound.
Declaration
var lowerBound: Bound { get }
Run Code Online (Sandbox Code Playgroud)
var startIndex: Bound { get }
被宣布
var startIndex: Bound
The position of the first element in a nonempty collection.
If the collection is empty, startIndex is equal to endIndex.
Declaration
var startIndex: Bound { get }
Run Code Online (Sandbox Code Playgroud)
两者之间有什么区别,我该如何决定使用哪一个呢?
lowerBound
和startIndex
是一个完全等效CountableRange
,因为是upperBound
和endIndex
,如由文档指出:
CountableRange实例的下限是其开始索引,上限是其结束索引。
为什么的唯一原因CountableRange
提供两个属性是startIndex
与endIndex
由所需要的Collection
协议,而lowerBound
与upperBound
通用于所有类型的范围(即:CountableRange,CountableClosedRange等)。