我正在尝试从UITableView的选定单元格中提取我的信息
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let resultant = segue.destination as? EditViewController {
resultant.intention = intentionsArray[(intentionsTable.indexPathForSelectedRow?.row)!]
}
}
我的EditViewController代码是
var intention:EIntentions?
我不断收到以下错误(EIntentions是我的实体,eIntentionCell是我的字符串属性)
无法将类型“ NSManagedObject”的值分配给类型“ EIntentions?”
我从CoreData获取数据的数组是
var intentionsArray: [NSManagedObject] = []
我知道这是NSManagedObject数组的错误。本质上,我试图将所选单元格的文本传递到EditViewController中的文本字段。我只是不知道我在做什么错。
最佳答案
好,你有
var intentionsArray: [NSManagedObject] = []
这是NSManagedObject的数组。并且
EditViewController
期望EIntentions
对象。不管哪种方式,EIntentions和NSManagedObject都是完全不同的对象,这就是为什么会出现此错误的原因。你必须初始化
var intentionsArray: [EIntentions] = []
使它像您想要的那样工作。如果您正确创建了EIntentions,那么从数据库中获取EIntentions对象将很顺利,并且一切都会正常进行