【发布时间】:2018-07-15 22:28:12
【问题描述】:
我正在尝试使用
从 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 中的文本字段。我就是想不通我做错了什么。
【问题讨论】:
-
错误提示
EIntentions不是NSManagedObject的子类 - 你是如何创建该类的?它是由 Core Data 模型自动创建的吗? -
这里是CoreData截图的链接。当我将 CoreData 添加到我的项目时,我自己创建了 `EIntentions`。 @Pawlw11 dropbox.com/s/l65r8ygy7xl1w97/…
-
在核心数据模型中创建实体后,它应该为您生成实体类。似乎该过程可能存在问题,因为它告诉您 EIntentions 类不是 NSManagedObject 子类。尝试删除您的派生数据文件夹
-
@Paulw11 我做到了,但由于某种原因仍然收到错误
-
如果您在 Xcode 中打开
EIntentions的上下文菜单(右键单击)并选择“跳转到定义”,它会显示什么?
标签: ios swift uitableview core-data nsmanagedobject