我正在寻找建议如何构建使用预填充数据的iOS核心数据应用程序。 问题: 用户会看到一个预先填好的(照片)sqlite数据库(简单),但他们可以修改默认数据(替换/删除照片)。我想保留主包上的默认照片而不将任何内容复制到app目录,但显然如果用户决定编辑/替换照片,我无法写入主包。
我不希望将照片保留在sqlite中,也不希望将默认照片复制到app目录(因为Apple不想添加用户未添加到应用程序的任何内容目录)。 问题: 如何从主捆绑中调用默认照片,但是从应用程序目录中调用已编辑/替换的照片?
任何想法都会非常感激......
类似的东西:
if (userEditedPhoto) {
imageView.image = //appDirectory:userPhoto
}
else {
imageView.image = //mainBundle:defaultPhoto
}
感谢
答案 0 :(得分:1)
对于核心数据方面,它非常简单:
NSPersistentStore
NSPersistentStoreCoordinator
。核心数据会将它们视为单个商店,您可以从两者中读取并写入一个。复制正在编辑的图像非常简单,因此除非您有疑问,否则我不会详细介绍。
Core Data不是数据库,它是一个对象存储。该对象存储可以根据需要在磁盘上使用尽可能多的单独文件。我上面的建议是在磁盘上有两个文件,从两个文件中读取并只写入一个文件。从而为您提供预先获取的数据。