Ios [NSManagedObjectContext delete:]:发送到实例的选择器无法识别

Ios [NSManagedObjectContext delete:]:发送到实例的选择器无法识别,ios,core-data,Ios,Core Data,核心数据让我心烦意乱。我正在删除旧数据,希望插入从服务器接收的新数据 现在,删除部分给出一个“sigabort”: -[NSManagedObjectContext delete:]:发送到实例0x522f550的选择器无法识别 2013-09-27 14:05:56.592*由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:'-[NSManagedObjectContext delete::]:无法识别的选择器发送到实例0x522f550' *第一次

核心数据让我心烦意乱。我正在删除旧数据,希望插入从服务器接收的新数据

现在,删除部分给出一个“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>

删除的代码为:

     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:
方法