在此处使用表格视图中的文字。我遇到了第二段代码的问题。
这有效:
var objects:CKRecord!
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
Notes.text = objects.objectForKey("content") as? String
}
然而,这不起作用:
override func viewWillDisappear(animated: Bool) {
super.viewWillDisappear(animated)
objects.objectForKey("content") as? String = Notes.text // problem line
}
为什么不呢?
答案 0 :(得分:2)
找到解决方案:
@IBAction func Save(sender: AnyObject) {
objects["content"] = Notes.text as? String
}
答案 1 :(得分:1)
您的原始尝试不起作用,因为objects.objectForKey("content") as? String
是 R值:objects.objectForKey(_:)
方法和as?
运算符都返回只读值你不能分配给。
您发布的解决方案有效,因为[]
运算符会为词典返回inout
值,使objects["content"]
成为 L值。
有关L值和R值的解释,请参阅this Wikipedia article。