Ios [NSManagedObjectContext delete:]:发送到实例的选择器无法识别
核心数据让我心烦意乱。我正在删除旧数据,希望插入从服务器接收的新数据 现在,删除部分给出一个“sigabort”: -[NSManagedObjectContext delete:]:发送到实例0x522f550的选择器无法识别 2013-09-27 14:05:56.592*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[NSManagedObjectContext delete::]:无法识别的选择器发送到实例0x522f550' *第一次抛出调用堆栈: (0x320f82a3 0x39d4797f 0x320fbe07 0x320fa531 0x32051f68 0x1b6c53 0x1868e5 0x3a15f11f 0x3a16d259 0x3a16d3b9 0x3a193a11 0x3a1938a4) libc++abi.dylib:terminate调用引发异常 删除发生在后台,nsmanagedobjectcontext是一种女贞并发类型 我打印了上下文和对象上下文的指针 采购订单上下文NSManagedObjectContext:0x522f550 及 po tmpCon.managedObjectContext NSManagedObjectContext:0x522f550> 删除的代码为:Ios [NSManagedObjectContext delete:]:发送到实例的选择器无法识别,ios,core-data,Ios,Core Data,核心数据让我心烦意乱。我正在删除旧数据,希望插入从服务器接收的新数据 现在,删除部分给出一个“sigabort”: -[NSManagedObjectContext delete:]:发送到实例0x522f550的选择器无法识别 2013-09-27 14:05:56.592*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[NSManagedObjectContext delete::]:无法识别的选择器发送到实例0x522f550' *第一次
NSError *errorAllCons = nil;
NSFetchRequest *allevents = [[NSFetchRequest alloc] init];
[allevents setEntity:[NSEntityDescription entityForName:@"TEventContact" inManagedObjectContext:context]];
NSArray *allCons = [context executeFetchRequest:allevents error:&errorAllCons];
for (TEventContact *tmpCon in allCons)
{
[context delete:tmpCon];
}
它在[上下文删除:tmpCon]上崩溃代码>
有人能告诉我我做错了什么吗?使用
[context deleteObject:tmpCon];
它将解决问题像这样永久删除对象
for (TEventContact *tmpCon in allCons)
{
[context deleteObject:tmpCon] /// for deleting object in context
}
[context save]; /// to reflect changes in database you need to save that context
如果不保存上下文,它不会反映在数据库上,这可能会导致另一个上下文的脏读NSManagedObjectContext
可能没有delete:
方法