https://github.com/magicalpanda/MagicalRecord
我试图使用魔法记录和核心数据保存从我的网站到sqllite数据库的记录,但我一直收到错误:
MR_saveWithErrorCallback:](0xaaa6bd0) NO CHANGES IN CONTEXT <NSManagedobjectContext (0xaaa6bd0): *** BACKGROUND SAVING (ROOT) ***> on *** BACKGROUND THREAD *** - NOT SAVING
这是代码:
for(int i = 0; i < count; i += 1) { // results = array of all services from site NSDictionary * result = [results objectAtIndex: i]; NSNumber * sID = @([[result objectForKey: @"ID"] intValue]); NSNumber * parent = @([[result objectForKey: @"parent"] intValue]); Service * service = [Service createEntity]; Nsstring * image = [Nsstring stringWithFormat: @"%@",[result objectForKey: @"image"]]; Nsstring * name = [Nsstring stringWithFormat: @"%@",[result objectForKey: @"name"]]; Nsstring * machine_name = [Nsstring stringWithFormat: @"%@",[result objectForKey: @"machine_name"]]; [service setDate: [NSDate date]]; [service setSID: sID]; [service setname: name]; [service setimage: image]; [service setParent: parent]; [service setMachine_name: machine_name]; [[NSManagedobjectContext defaultContext] savenestedContexts];解决方法 问题是您没有保存正确的上下文.如果查看源代码,[Service createEntity]会在当前线程的上下文中创建Managedobject.不在defaultContext中.
所以你需要做的是,而不是[[NSManagedobjectContext defaultContext] savenestedContexts],你应该保存当前线程的上下文(即创建Managedobject的上下文).所以代码应该是[[NSManagedobjectContext MR_contextForCurrentThread]
总结以上是内存溢出为你收集整理的ios – 魔法记录没有保存全部内容,希望文章能够帮你解决ios – 魔法记录没有保存所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)