Ios NSManagedObjectContext仅能正常工作几次,然后就停止工作
在我试着问了两次并解释了我自己之后,我做了一个挖掘,我想我现在可以更好地解释我的问题了: 1) 我正在使用核心数据保存到Ios NSManagedObjectContext仅能正常工作几次,然后就停止工作,ios,objective-c,core-data,Ios,Objective C,Core Data,在我试着问了两次并解释了我自己之后,我做了一个挖掘,我想我现在可以更好地解释我的问题了: 1) 我正在使用核心数据保存到NSManagedObjects:CoreDataTrap&coredataalltrap。 第一次,我解析一个大的xml,然后转换为数组,然后将细节添加到CoreDataAllTraps,我知道这个操作进行得很顺利,因为我做了一个日志 2) 然后,为了测试,我将获取所有记录并记录它们的总数 这些函数为我提供了正确的记录数。 3) 然后初始化几个变量 4) 然后初始化我的四叉树
NSManagedObjects
:CoreDataTrap
&coredataalltrap
。
第一次,我解析一个大的xml,然后转换为数组,然后将细节添加到CoreDataAllTraps
,我知道这个操作进行得很顺利,因为我做了一个日志
2) 然后,为了测试,我将获取所有记录并记录它们的总数
这些函数为我提供了正确的记录数。
3) 然后初始化几个变量
4) 然后初始化我的四叉树
这将返回我的断言错误
错误:FetchedObject没有记录
5) 然后,使用核心数据的所有其他函数都会返回错误,因为没有数据
相关(编号)代码:
旁注:
*调用initializeQuadTree
后,我正在初始化位置管理器。
*在location manager中,我有一个dispatch\u async
,将整个代码包装在其中。
*完成所有初始化后,代码的主要部分通过位置管理器didUpdateLocations
执行。
*对于每次使用的核心数据,我都会生成新的NSManagedObjectConext,如下所示:
FOUNDATION_EXPORT NSManagedObjectContext *generateManagedObjectContext()
{
NSManagedObjectContext *context = [[NSManagedObjectContext alloc] init];
context.persistentStoreCoordinator = appDelegate.persistentStoreCoordinator;
return context;
}
创建表后删除它Aha!这就是我的问题,我把初始化变量的函数移到了顶部,现在它开始工作了。
FOUNDATION_EXPORT NSManagedObjectContext *generateManagedObjectContext()
{
NSManagedObjectContext *context = [[NSManagedObjectContext alloc] init];
context.persistentStoreCoordinator = appDelegate.persistentStoreCoordinator;
return context;
}
[db deleteTrapsTable];
[dbat deleteTrapsTable];