mmg*_*oss 5 xcode swift swift-playground swift2
我决定学习Swift,我决定立即开始使用Swift 2.
所以这是一个非常基本的例子,类似于Apple自己的关于Swift的电子书中的一个例子
let greeting = "Guten Tag"
for index in indices(greeting) {
print(greeting[index])
}
Run Code Online (Sandbox Code Playgroud)
我在Xcode 7的操场上试过这个,我收到了以下错误
无法使用类型'(String)'的参数列表调用'indices'
我也尝试过与Xcode 6(Swift 1.2 AFAIK)相同的东西,它按预期工作.
现在,我的问题是:
另外:如果答案是"2",你将如何替换indices(String)Swift 2?
在Playground中,如果转到菜单View> Debug Area> Show debug area,您可以在控制台中看到完整错误:
/var/folders/2q/1tmskxd92m94__097w5kgxbr0000gn/T/./lldb/94138/playground29.swift:5:14:错误:'indices'不可用:访问索引(问候语)中索引的集合上的'indices'属性
此外,Strings不再符合SequenceTypes,但您可以通过调用访问它们的元素characters.
所以Swift 2的解决方案就是这样做:
let greeting = "Guten Tag"
for index in greeting.characters.indices {
print(greeting[index])
}
Run Code Online (Sandbox Code Playgroud)
结果:
ģ
ü
吨
ë
ÑT
a
g
当然,我认为你的例子只是为了测试indices,但你可以做到:
for letter in greeting.characters {
print(letter)
}
Run Code Online (Sandbox Code Playgroud)