ios核心数据NSFetchedResultsControllerDelegate崩溃

时间:2012-09-19 11:58:26

标签: iphone ios core-data

我一直在为NSFetchedResultsControllerDelegate收到此错误 不确定该怎么做,因为它偶尔会发生。

我确实创建了同步的记录,但仍然......

任何想法为什么会这样?

- (Activity *)createActivityWithDictionary:(NSDictionary*)dict
{
    @synchronized([DBController sharedManaged])
    {
        Activity *act = [Activity activityWithDictionary:dict inManagedObjectContext:self.managedObjectContext];
        [self saveContext];
        return act;
    }
}


Date/Time:       2012-09-18 22:55:53.686 -0700
OS Version:      iPhone OS 5.1.1 (9B206)
Report Version:  104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x00000000, 0x00000000
Crashed Thread:  0

Last Exception Backtrace:
0   CoreFoundation                 0x3724188f __exceptionPreprocess + 163
1   libobjc.A.dylib                0x34f46259 objc_exception_throw + 33
2   CoreFoundation                 0x37244a9b -[NSObject doesNotRecognizeSelector:] + 175
3   CoreFoundation                 0x37243915 ___forwarding___ + 301
4   CoreFoundation                 0x3719e650 _CF_forwarding_prep_0 + 48
5   CoreData                       0x36a78f4d -[NSFetchedResultsController(PrivateMethods) _managedObjectContextDidChange:] + 2401
6   Foundation                     0x37aa64ff __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_0 + 19
7   CoreFoundation                 0x3720d547 ___CFXNotificationPost_block_invoke_0 + 71
8   CoreFoundation                 0x37199097 _CFXNotificationPost + 1407
9   Foundation                     0x37a1a3eb -[NSNotificationCenter postNotificationName:object:userInfo:] + 67
10  CoreData                       0x36a00839 -[NSManagedObjectContext(_NSInternalNotificationHandling) _postObjectsDidChangeNotificationWithUserInfo:] + 77
11  CoreData                       0x36a0031d -[NSManagedObjectContext(_NSInternalChangeProcessing) _createAndPostChangeNotification:withDeletions:withUpdates:withRefreshes:] + 305
12  CoreData                       0x36a09d01 -[NSManagedObjectContext(_NSInternalChangeProcessing) _processRecentChanges:] + 1245
13  CoreData                       0x369fd145 -[NSManagedObjectContext save:] + 201
14  PalFinds                       0x000a57cb -[DBController saveContext] (DBController.m:75)
15  PalFinds                       0x000a8dff -[DBController createActivityWithDictionaries:] (DBController.m:852)
16  PalFinds                       0x00086649 -[PFMe finishRequest:andRestConnection:] (PFMe.m:1986)
17  PalFinds                       0x0002e17d -[RestConnection connectionDidFinishLoading:] (RestConnection.m:326)
18  Foundation                     0x37addc29 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 17
19  Foundation                     0x37a356d9 -[NSURLConnectionInternalConnection invokeForDelegate:] + 29
20  Foundation                     0x37a356a3 -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 199
21  Foundation                     0x37a355c5 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 61
22  CFNetwork                      0x36ed97f5 URLConnectionClient::_clientDidFinishLoading(URLConnectionClient::ClientConnectionEventQueue*) + 193
23  CFNetwork                      0x36ece4a5 URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) + 425
24  CFNetwork                      0x36ece599 URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) + 669
25  CFNetwork                      0x36ece599 URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload(XConnectionEventInfo<XClientEvent, XClientEventParams>*, long) + 669
26  CFNetwork                      0x36ece1a3 URLConnectionClient::processEvents() + 107
27  CFNetwork                      0x36ece0d9 MultiplexerSource::perform() + 157
28  CoreFoundation                 0x37215ad3 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
29  CoreFoundation                 0x3721529f __CFRunLoopDoSources0 + 215
30  CoreFoundation                 0x37214045 __CFRunLoopRun + 653
31  CoreFoundation                 0x371974a5 CFRunLoopRunSpecific + 301
32  CoreFoundation                 0x3719736d CFRunLoopRunInMode + 105
33  GraphicsServices               0x33956439 GSEventRunModal + 137
34  UIKit                          0x30f43cd5 UIApplicationMain + 1081
35  PalFinds                       0x000038bf main (main.mm:14)
36  PalFinds                       0x00003878 start + 40

2 个答案:

答案 0 :(得分:0)

看起来它正在尝试重新调用委托,并且委托没有实现它应该的方法。

我在考虑controller:didChangeObject:atIndexPath:forChangeType:newIndexPath:controllerDidChangeContent:

您是否在NSFetchedResultsControllerDelegate

中实施了这些方法?

答案 1 :(得分:0)

我知道这可能看起来很遥远但我有一个非常类似的问题,我已经实现了所有这些方法,然后我意识到我已经为fetchedREsultsController注释了我的版本...一旦我把它放回到了更多的sigbart和奇迹般有效。

我只是说,有时错误并不总是显而易见的。

我们需要查看更多代码才能弄明白。感谢。