我试图迭代文本字段中的每个字符,
这是我如何做到的:
@IBOutlet var needTranslate : NSTextField
for i in needTranslate.stringValue{
然后我收到一个错误:SourceKitService终止
只有当我尝试遍历此字符串值时才会发生这种情况。我知道这是一个错误,但我在代码中做错了吗?
答案 0 :(得分:1)
这看起来像是一个编译器错误。
stringValue
的返回值
是一个隐式解包的可选字符串。问题可以通过
重现var s : String! = "foo"
for i in s {
println(i)
}
我无法从文档中看到为什么for ... in ...
循环不适用
一个隐式展开的字符串,所以我建议在Apple提交错误报告。
作为一种变通方法,您可以将stringValue
的返回值视为“正常”
使用可选绑定显式选择和解包:
if let str = needTranslate.stringValue {
for i in str {
println(i)
}
}