我在CoreData中从一对多关系中保存新对象/编辑现有对象时遇到一些问题。
我有一个与班级指示有To-Many关系的患者。
发生了什么: 我第一次从普通的工作流程创建一个Indication Object,它似乎都保存好了,但如果我尝试从Edit屏幕访问它,它会崩溃并出现SIGABRT并出现以下错误
-[Patient compare:]: unrecognized selector sent to instance 0x7fa991893ca0
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Patient compare:]: unrecognized selector sent to instance 0x7fa991893ca0'
如果我尝试从NSFetchedResultsController创建一个显示指示对象列表的新窗口,也会发生同样的情况。
我试图通过两种方式建立他们之间的关系:
indication = [NSEntityDescription insertNewObjectForEntityForName:@"Indication"
inManagedObjectContext:appDelegate.managedObjectContext];
indication.patient = patient;
并通过CoreData的GeneratedAccessors:
[patient addIndicationObject:indication];
我在viewDidLoad期间验证这两个对象,以避免在我编辑现有对象时创建新的指示。但在这两种情况下我都会遇到同样的错误。
到目前为止,Haven找不到任何与此事有关的帖子。请帮忙。答案 0 :(得分:0)
经过几天的研究没有成功,最后我找到了一个能够对这个问题有所了解的帖子。
NSFetchedResultsControllerDelegate似乎“锁定”了NSManagedObjectContext,这就是我无法在同一个上下文中添加或更改任何内容的原因。
一旦我离开屏幕,我只需将委托设置为nil,现在一切似乎都工作正常。
感谢您对此帖的解决方案: Core data: Serious application error