我对核心数据有一个非常令人沮丧的问题。在应用程序中,我正在设计一个视图,用户可以在其中搜索他们的作家、作曲家等的歌曲。我将这些数据存储在一个NSManagedObject
子类中。由于应用程序中的数据没有改变,我在另一个小程序中创建了数据库,然后将.sqlite
文件移动到应用程序的捆绑包中。
当我Person
从数据库中获取所有对象时,会发生一些奇怪的事情。所有的 Person 对象都会显示出来,但是name
对象中的某些字段以某种方式设置为nil
. 只有人的角色是“作曲家”的对象似乎有这个问题。
造成这么大问题的原因是我已经验证了这些实体的名称在 sqlite 文件中。我可以在导入程序(创建数据库的程序)结束时打印所有对象并获得正确的信息。我还认为,当我将文件复制过来时,文件系统可能正在对文件执行某些操作,但是我可以从命令行打开 sqlite 文件并在那里手动获取作曲家的姓名。
有没有人遇到过类似的问题?