gpt4 book ai didi

ios - 魔法记录不保存

转载 作者:可可西里 更新时间:2023-11-01 03:07:10 26 4
gpt4 key购买 nike

我正在使用 Magical Record: https://github.com/magicalpanda/MagicalRecord

我正在尝试使用 Magical Record 和 Core Data 将从我的网站获取的记录保存到 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 中。

所以您需要做的是,您应该保存当前线程的上下文(即创建 ManagedObject 的上下文),而不是 [[NSManagedObjectContext defaultContext] saveNestedContexts]。所以代码应该是[[NSManagedObjectContext MR_contextForCurrentThread]

关于ios - 魔法记录不保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13767993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com