接收错误:valueForUndefinedKey:]:此类与键imgSelect的键值编码不兼容
我有一个可编辑的表格视图。选择单元格时,需要您编辑信息。除了图像,一切都很好。用户可以保存图像,图像显示在表格视图中,但是返回编辑时会崩溃。这是写得不好的代码:
无需尝试重新加载图像以进行编辑,其他所有方法都可以正常工作。图像已保存到数据库并显示在表视图中。
var existingItem: NSManagedObject!
override func viewDidLoad() {
super.viewDidLoad()
// Reload data to edit
if existingItem {
txtPTitle.text = project
txtPDesc.text = desc
txtSDate.text = sdate
txtEDate.text = edate
}
但是当我编辑tablecell时添加以下内容以加载图像时
// Reload data back into form
if existingItem {
txtPTitle.text = project
txtPDesc.text = desc
txtSDate.text = sdate
txtEDate.text = edate
var data: NSManagedObject = NSManagedObject()
let imageData:NSData = data.valueForKeyPath("projectImage") as NSData
let projectImage:UIImage = UIImage(data: imageData)
println("we have an image")
imgSelect.image = projectImage
}
它崩溃并显示以下错误。
'NSUnknownKeyException', reason: '[<_NSZeroData 0x7fe7f1c3b020> valueForUndefinedKey:]: this class is not key value coding-compliant for the key imgSelect.'
最佳答案
我怀疑您实际上没有在Interface Builder中绑定imgSelect
。
它实际上是在imgSelect.image = projectImage
行还是在更早的时候崩溃(例如在NIB加载期间)? imgSelect
是否正确?在beta 4或beta 5中,它们更改了IBOutlets的定义方式,并且您应该确保自那时以来已进行了彻底的清理和重建(否则,您可能会看到错误的对象)。