我正在为我们的应用程序升级版本对对象模型进行相当多的更改,即。添加/删除的实体,新的属性和关系。看起来这项工作真的会加起来才能进行适当的核心数据迁移。由于数据主要用作缓存以增强离线浏览体验。在这一点上并不真正需要迁移我认为如果它被吹走并重新创建会简单得多。根据我在这个主题上遇到的各种帖子,一般策略是检测模型已经改变(通过捕获期间的异常managedObjectContext的初始化)删除持久存储(在我们的iOS示例中是sqlite文件)使用最新模式重新初始化对象模型重新初始化持久存储使用新模型这是重新初始化objectModel的代码-(NSManagedObjectModel*)ma
我有一个使用CoreData的iPhone应用程序。我最近对数据模型做了一些小改动,现在每次打开应用程序时都会收到错误消息“无法找到源商店的模型”。我有2个版本的数据模型,我所做的唯一更改是添加了一些字段。我正在按照最初工作的指南here进行操作,然后就在今天,在添加了一些额外的字段之后,它中断了。所有附加字段都标记为可选,并且都具有默认值。迁移代码如下:NSURL*storeUrl=[NSURLfileURLWithPath:[[selfapplicationDocumentsDirectory]stringByAppendingPathComponent:@"xxx.sqlite"
我想从AppDelegate获取managedobjectcontext,但是当我把这两行代码放到方法中后应用程序崩溃了,即使我什么也没做,并且在调试区有一条消息:“CoreData:无法加载NSManagedObjectModel。nil是非法的URL参数...”在我的方法中添加的代码:AppDelegate*delegate=[UIApplicationsharedApplication].delegate;NSManagedObjectContext*managedObjectContext=delegate.managedObjectContext;-AppDelegate中的
我想从AppDelegate获取managedobjectcontext,但是当我把这两行代码放到方法中后应用程序崩溃了,即使我什么也没做,并且在调试区有一条消息:“CoreData:无法加载NSManagedObjectModel。nil是非法的URL参数...”在我的方法中添加的代码:AppDelegate*delegate=[UIApplicationsharedApplication].delegate;NSManagedObjectContext*managedObjectContext=delegate.managedObjectContext;-AppDelegate中的
总结一下我所做的:创建了一个名为2048的项目。创建了NSManagedObject的子类classBestScore:NSManagedObject{@NSManagedvarbestScoreModel:BestScoreModelfuncupdate(score:Int){self.bestScoreModel!.score=score}}创建了NSManagedObjectModel的子类classBestScoreModel:NSManagedObjectModel{@NSManagedvarscore:Int}在核心数据选项卡下创建了一个数据模型。将文件命名为2048.xc
我正在尝试将我的一个应用程序的特定部分迁移到一个框架中,以便我可以在我的应用程序本身和那些精美的新iOS8小部件之一中使用它。这部分是处理我在核心数据中的所有数据的部分。移动所有内容并访问它非常简单。我只是无法访问其中的momd文件。在创建NSManagedObjectModel时,我仍然尝试加载momd,如Apple的代码模板所示:NSURL*modelURL=[[NSBundlemainBundle]URLForResource:@"MyApp"withExtension:@"momd"];__managedObjectModel=[[NSManagedObjectModelall