许多全局函数已被Swift 2 的新特性协议扩展方法enumerate()
取代,因此现在是扩展方法SequenceType
:
extension SequenceType {
func enumerate() -> EnumerateSequence<Self>
}
并用作
let mySwiftStringArray = [ "foo", "bar" ]
for (index, string) in mySwiftStringArray.enumerate() {
print(string)
}
并且String
不再符合SequenceType
,您必须使用该characters
属性来获取 Unicode 字符的集合。此外,count()
它是一种协议扩展方法,
CollectionType
而不是全局函数:
let myString = "foo"
let stringLength = myString.characters.count
print(stringLength)
Swift 3 的更新: enumerate()
已重命名为enumerated()
:
let mySwiftStringArray = [ "foo", "bar" ]
for (index, string) in mySwiftStringArray.enumerated() {
print(string)
}