我正在使用AFNetworking从服务器获取JSON对象。然后我使用ObjectiveRecord创建数据对象(Core Data)。有时我会搜索和更新对象。这在我的iPhone 5上也适用于模拟器。但是当使用iPhone 5S时它不起作用。在执行EXC_BAD_ACCESS
时(在ObjectiveRecord代码中),我得到insertNewObjectForEntityForName
。
阅读了很多关于核心数据和线程的文章,这让我相信我应该使用私有上下文,使用NSPrivateQueueConcurrencyType
。
我使用建议的方法在ObjectiveRecord中设置它,即:
NSManagedObjectContext *newContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSPrivateQueueConcurrencyType];
newContext.persistentStoreCoordinator = [[CoreDataManager instance] persistentStoreCoordinator];
然后我使用createInContext:
在AFNetworking的完成块中创建我的对象。
我在SO上发现了类似的问题,但它没有使用ObjectiveRecord:Get a number of resources asynchronously and "asynchronously" save them to a database. Which good pattern to use? (AFNetworking, Core Data)
但是我没有让它发挥作用。我究竟做错了什么?还是我走错了路?
答案 0 :(得分:0)
我没有让这个工作。可能是因为我在核心数据方面的技能还不够。因此我改为MagicalRecord。在ObjectiveRecord之外的多线程环境中理解如何使用它更容易。很遗憾没有关于如何在多线程环境中使用ObjectiveRecord的好文章。