我在 iOS 项目中有一个 UITableView。当用户从表中选择一个项目时,该对象将从 CoreData 中检索并存储在“播放器”对象中。然后将此播放器对象传递给另一个视图控制器。
我的问题是:如果我对此 Player 对象中的属性进行更改,我该如何保存这些更改。CoreData 如何知道哪个 Player 对象发生了变化?我没有设置 playerID 属性,因为所有 Core Data 文档都说它管理自己的 ID 和引用。
更多的:
所以,目前,我正在这样做(请原谅伪代码,我现在手头没有源代码):
Player *player1 = [NSFetchResultController objectAtIndex:0]
Player *player2 = [NSFetchResultController objectAtIndex:1]
GameViewController *gameVC = [[GameViewController alloc] init]
gameVC.player1 = player1;
gameVC.player2 = player2;
gameVC.managedObjectContext = self.managedObjectContext
[self performSegueWithIdentifier:@"Game"]
我将 Player 类型的对象传递给 gameVC,它们没有标识符(因为 Core Data 不需要创建显式 ID 属性 - 据称!)
那么 gameVC 中的 MOC 是如何准确地知道哪些对象要提交任何更改呢???