我正在尝试从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对象将很顺利,并且一切都会正常进行

10-08 02:29