刚刚下载了Xcode 7 Beta,enumerate关键字出现了这个错误.
for (index, string) in enumerate(mySwiftStringArray)
{
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我克服这个吗?
而且,似乎count()不再适用于计算长度String.
let stringLength = count(myString)
Run Code Online (Sandbox Code Playgroud)
在上面一行,编译器说:
'count'不可用:访问集合上的'count'属性.
Apple已经发布了Swift 2.0的任何编程指南吗?
Mar*_*n R 105
许多全局函数已被协议扩展方法取代,这是Swift 2的一个新特性,因此enumerate()现在是一种扩展方法SequenceType:
extension SequenceType {
func enumerate() -> EnumerateSequence<Self>
}
Run Code Online (Sandbox Code Playgroud)
并用作
let mySwiftStringArray = [ "foo", "bar" ]
for (index, string) in mySwiftStringArray.enumerate() {
print(string)
}
Run Code Online (Sandbox Code Playgroud)
并且String不再符合SequenceType,您必须使用该characters属性来获取Unicode字符的集合.此外,count()是一种协议扩展方法,
CollectionType而不是全局函数:
let myString = "foo"
let stringLength = myString.characters.count
print(stringLength)
Run Code Online (Sandbox Code Playgroud)
Swift 3的更新: enumerate()已重命名为enumerated():
let mySwiftStringArray = [ "foo", "bar" ]
for (index, string) in mySwiftStringArray.enumerated() {
print(string)
}
Run Code Online (Sandbox Code Playgroud)
小智 5
使用enumerate()时,Swift 2有了更新.
enumerate(...)人们应该使用而不是
... .enumerate()
原因是许多全局函数已被协议扩展方法取代,它们将获得枚举错误.
希望这可以帮助.祝一切顺利.ñ
| 归档时间: |
|
| 查看次数: |
15484 次 |
| 最近记录: |