我使用nsfetchedresultscontroller
维护实体“产品”。
但我设置了谓词"forUser==%@", currentUser"
,用户是另一个实体。
虽然我可以在运行时加载currentUser,但是我想在nsuserdefaults中保存“CurrentUser”,在SQL中我会保存那个用户的primaryKey, 在appDidFinishLaunching我可以抓住它并获得实体。
我不确定当涉及到NSUserDefaults中的实体时我应该保存到底是什么。
我不想添加
的额外属性“上次访问”
对于用户来说,因为每次只有一个当前用户,并且只对同一个有点ID有意义。我可以保存lastName或firstName,但是正在考虑更好的方法,比如某种有问题的integerID。
保存NSManagedObjectID URI
也是一个选项,但这会改变任何迁移或核心数据图表更改,并在更新时中断应用程序。
请帮我理解核心数据。
答案 0 :(得分:0)
你已经回答了自己的问题。你说你想要一种唯一识别用户的方法。
如果用户没有唯一标识属性,那么您只有NSManagedObjectID URI
。但这可能会在迁移期间发生变化。
因此,您需要添加唯一标识用户的属性,或者至少唯一标识最后一个用户。
答案 1 :(得分:-1)
根据您提到的用例,您必须添加一个id。你想把它存储在NsUserDefaults吗?