应用程序在segue调用后加载viewController之前崩溃

时间:2012-08-03 13:44:38

标签: objective-c xcode uisplitviewcontroller mkmapview

我有一个带有masterView的splitViewController,它有四个按钮,可以分成四个不同的视图。我的一个观点是mapView,其中填充了基于用户输入的位置数据的注释。用户输入存储在核心数据中的地址,mapView将输入所输入地址的纬度和长度,并填充地图。

我得到的问题是 - 当我在地图上绘制注释然后转向地图然后转到另一个视图时,我的应用程序崩溃并且NSEnabledZombie错误说 - “[viewController respondsToSelector:]:已发送消息解除分配的实例。“如果我允许加载注释,它运行正常并且不会崩溃。我现在在viewDidAppear中放置了一个sleep函数,以便注释时有时间加载它。

我是否应该将加载代码放在不同的线程中,或者除了拥有睡眠功能之外还有更好的方法吗?

这里是注释的方法:

-(void)showAddresses {
    NSFetchRequest *fetchR = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"theAddrs" inManagedObjectContext:self.manageCont];
    [fetchR setEntity:entity];
    NSError *error = nil;
    NSArray *theLoc = [self.manageCont executeFetchRequest:fetchR error:&error];

        NSError *saveError = nil;
        [self.manageCont save:&saveError];
}

在这里,我在viewDidAppear中调用它:

   -(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self showAddresses];
}

0 个答案:

没有答案