这一行 self.displayResultLable.text += (title as!String)
抛出错误
can not convert value type "string?" to expected argument type "inout string"
这是我的代码:
if results.count > 0 {
var displayResult : String?
for books in results as! [NSManagedObject] {
if let title = books.valueForKey("title") {
self.displayResultLable.text += (title as! String)
}
}
}
这里的 inout
字符串是什么?最佳做法是什么?
注意这一行 self.displayResultLable.text = (title as!String)
工作正常:
最佳答案
你需要这样写:
self.displayResultLable.text = self.displayResultLable.text! + title as! String
这是因为左侧是可选的而右侧不是并且它们不匹配。这就是为什么你需要写 label.text = label.text +...
我还可以建议您将 if let
改为:
if let title = books.valueForKey("title") as? String {
self.displayResultLable.text = (self.displayResultLable.text ?? "") + title
}
关于swift - 无法将值类型 "string?"转换为预期的参数类型 "inout string",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39974931/