接收错误: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的定义方式,并且您应该确保自那时以来已进行了彻底的清理和重建(否则,您可能会看到错误的对象)。

10-08 06:11