我在以下代码行中获得了关于我的iPad应用程序的每第5次运行的EXC_BAD_ACCESS。我已经运行了Zombies,但是应用程序只是崩溃而且Instruments没有显示任何僵尸,它只是停止录制。
[self.managedObjectContext mergeChangesFromContextDidSaveNotification:notification];
以下是我在AppDelegate.m中使用的代码
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(contextChanged:)
name:NSManagedObjectContextDidSaveNotification
object:nil];
.....blah blah balh........
return YES;
}
- (void) contextChanged:(NSNotification *)notification
{
if(self.managedObjectContext)
{
if ([notification object] == [self managedObjectContext] ) return;
if(![NSThread isMainThread])
{
[self performSelectorOnMainThread:@selector(contextChanged:) withObject:notification waitUntilDone:YES];
}
[self.managedObjectContext setMergePolicy:NSMergeByPropertyStoreTrumpMergePolicy];
[self.managedObjectContext mergeChangesFromContextDidSaveNotification:notification];
}
}
我不知道怎么调试这个?奇怪的是它每运行一次应用程序每5到7次就会崩溃(我每次运行测试时都会在模拟器上重置内容)。