我正在尝试遍历文本字段中的每个字符,
这是我的做法:
@IBOutlet var needTranslate : NSTextField
for i in needTranslate.stringValue{
然后我得到一个错误:SourceKitService被终止
而且只有在我尝试遍历此字符串值时才会发生。我知道这是一个错误,但是我在代码中做错了吗?
最佳答案
在我看来,这似乎是一个编译器错误。
您的代码导致运行时异常
快速编译器本身。即使对于完全错误的源代码也不应该发生这种情况。
对我来说,您的代码实际上看起来是正确的,因为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)
}
}
关于loops - Swift-尝试遍历文本字段中的stringValue,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24594055/