Swift 2.0:’enumerate’不可用:调用序列上的’enumerate()’方法

前端之家收集整理的这篇文章主要介绍了Swift 2.0:’enumerate’不可用:调用序列上的’enumerate()’方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
刚刚下载Xcode 7 Beta,并且此错误出现在enumerate关键字。
  1. for (index,string) in enumerate(mySwiftStringArray)
  2. {
  3.  
  4. }

任何人都可以帮助我克服这个?

另外,似乎count()不再工作用于计数字符串的长度。

  1. let stringLength = count(myString)

在上面,编译器说:

‘count’ is unavailable: access the ‘count’ property on the collection.

苹果是否已经发布了Swift 2.0的任何编程指南?

许多全局函数已被协议扩展方法所取代,
Swift 2的一个新特性,所以enumerate()现在是一个扩展方法
对于SequenceType:
  1. extension SequenceType {
  2. func enumerate() -> EnumerateSequence<Self>
  3. }

并用作

  1. let mySwiftStringArray = [ "foo","bar" ]
  2. for (index,string) in mySwiftStringArray.enumerate() {
  3. print(string)
  4. }

和字符串不再符合SequenceType,你必须
使用characters属性获取Unicode的集合
字符。另外,count()是一个协议扩展方法
CollectionType而不是全局函数

  1. let myString = "foo"
  2. let stringLength = myString.characters.count
  3. print(stringLength)

Swift 3的更新:enumerate()已重命名为enumerated():

  1. let mySwiftStringArray = [ "foo",string) in mySwiftStringArray.enumerated() {
  2. print(string)
  3. }

猜你在找的Swift相关文章