【发布时间】:2015-12-10 21:00:59
【问题描述】:
这个想法是一个“列表”实体将可以访问许多“项目列表”实体,即一个列表将包含多个项目。我尝试通过以下方式将项目添加到列表实体:
let newList = NSEntityDescription.insertNewObjectForEntityForName("List", inManagedObjectContext: context) as! List
newList.name = listName
newList.shoppingDate = shoppingTripDate
newList.eventDate = eventDate
let itemEnt = NSEntityDescription.insertNewObjectForEntityForName("ItemList", inManagedObjectContext: context) as! ItemList
itemEnt.item = "Eggs"
itemEnt.list = newList
ItemEnt.list = newList 将两者连接起来,如上图所示。
但是,在另一个视图控制器中,我从核心数据中检索此对象并尝试访问其 item 属性,如下所示:
shoppingListObject!.itemList!.item
这会使程序崩溃。
我是否遗漏了什么或做错了什么?
编辑: 这是它在终端中产生的错误
*** 由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'-[_NSFaultingMutableSet item]: unrecognized selector sent to instance 0x7fd0a4951960'
【问题讨论】:
-
对我来说看起来不错。你能展示更多另一个视图控制器的代码吗?
-
应用程序崩溃时会出现什么错误?有无数种情况会导致崩溃,而错误会缩小范围并经常直接指出问题所在。
-
我想知道这是否可以编译。
itemList应该是一对多关系的 set。 -
我认为@MartinR 是对的。 @MattSpoon:这有帮助吗?
let listItems = shoppingListObject!.itemList!.allObjects as! [ItemList]
标签: ios swift core-data relationships