将xml记录插入ios设备时,应用程序崩溃

将xml记录插入ios设备时,应用程序崩溃,ios,xml,parsing,crash,nsmanagedobjectcontext,Ios,Xml,Parsing,Crash,Nsmanagedobjectcontext,首先,这是我的事故记录 Thread 1 name: Dispatch queue: com.apple.root.default-priority Thread 1 Crashed: 0 CoreFoundation 0x3b8afc30 __CFBasicHashRehash + 796 1 CoreFoundation 0x3b8b0e48 __CFBasicHashAddValue + 88 2 CoreF

首先,这是我的事故记录

Thread 1 name:  Dispatch queue: com.apple.root.default-priority
Thread 1 Crashed:
0   CoreFoundation                  0x3b8afc30 __CFBasicHashRehash + 796
1   CoreFoundation                  0x3b8b0e48 __CFBasicHashAddValue + 88
2   CoreFoundation                  0x3b7db194 CFBasicHashAddValue + 3048
3   CoreFoundation                  0x3b7deebc CFSetAddValue + 112
4   CoreData                        0x36ea45b0 -        [NSManagedObjectContext(_NSInternalAdditions) _insertObjectWithGlobalID:globalID:] + 172
5   CoreData                        0x36e9c9bc -[NSManagedObjectContext insertObject:] +     136
6   CoreData                        0x36e8c6d2 -[NSManagedObject     initWithEntity:insertIntoManagedObjectContext:] + 646
7   CoreData                        0x36e78d74 +[NSEntityDescription     insertNewObjectForEntityForName:inManagedObjectContext:] + 176
8   XYZ Orders                      0x000f8182 -[ITMLoginVC traverseElement:] (ITMLoginVC.m:1551)
9   XYZ Orders                      0x000f7eba -[ITMLoginVC traverseElement:] (ITMLoginVC.m:1506)
10  XYZ Orders                      0x000f5970 -[ITMLoginVC getAllCustomerValues]     (ITMLoginVC.m:903)
11  libdispatch.dylib               0x39b8911c _dispatch_call_block_and_release + 8
12  libdispatch.dylib               0x39b8d95c _dispatch_root_queue_drain + 248
13  libdispatch.dylib               0x39b8dabc _dispatch_worker_thread2 + 80
14  libsystem_c.dylib               0x368f2a0e _pthread_wqthread + 358
15  libsystem_c.dylib               0x368f28a0 start_wqthread + 4
第903行:

if(ttbXML.rootXMLElement)
{
    [self traverseElement:ttbXML.rootXMLElement]; //line 903
}
第1551行:

ITMAllCustomerAddresses *allCustAddress =(ITMAllCustomerAddresses *)[NSEntityDescription                                                            insertNewObjectForEntityForName:@"ITMAllCustomerAddresses"
                                                                                                                        inManagedObjectContext:self.managedObjectContext];
第1506行:

         [self traverseElement:element->firstChild];
我正在使用TBXML进行解析。在StackOverflow上,人们建议用户在使用大型XML时使用TBXML。我使用了NSXMLParser,但速度很慢并且崩溃了。它也会崩溃,但速度很快,一天会崩溃一两次。这又是一个罕见的案例。这是我今天第二次得到这个。所以我想我可能会发布这个。我认为我的managedobjectcontext没有正确初始化,所以我现在这样做:

    if (!self.managedObjectContext)
{
    self.managedObjectContext  = self.appDelegate.managedObjectContext;
}

如果有人知道为什么会这样,请告诉我。如果你需要更多的信息,请告诉我。谢谢它在iOS6中,我正在测试iPhone设备。这是一个内部应用程序。在模拟器上运行良好。

ITMLoginVC.m:1551中的内容是什么?@Calvinbai。更改了代码。过来看。