将新的开始视图添加到现有IOS XCode4项目时出错

时间:2013-07-25 00:14:43

标签: ios uitableview core-data storyboard

我已经根据Lynda的IOS核心数据教程构建了我的部分应用程序。它以Nav Controller / Table视图开始,并分成几个其他视图。一切顺利。

问题是,我需要添加一个基本的“主菜单”主屏幕。当我在storyboard中添加一个新的空白视图,然后将其设置为初始视图控制器然后b / r,我得到一个崩溃。如果有其他视图的链接,则无关紧要。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIViewController viewControllers]: unrecognized selector sent to instance 0x748dce0'

如果我注释掉appdelegate中的代码didfinishloadingwithoptions(见下文),应用程序会根据需要加载新的空白窗口。

所以我在应用程序委托中有代码完成了所需的加载,但是当它仍然在appdelegate.m中时,它会在负载时崩溃。

EDIT 然而,还有其他相关问题,我已经添加了另一个appdelegate文件,现在应用程序按预期加载到空白启动窗口。然而,当我尝试导航到tableviewcontroller并在它的viewdidload事件上触发fetchresults方法并检查fetchresultscontroller对象的有效性时,我收到此崩溃错误..

由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'+ entityForName:nil不是合法的NSManagedObjectContext参数,用于搜索实体名称'PayItemMaster'' * 第一次抛出调用堆栈:

现在导致问题的代码是

-(NSFetchedResultsController *) fetchedResultsController {
if (_fetchedResultsController != nil) {
    return _fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"PayItemMaster"
                                          inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"payClass"
                                                               ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];

_fetchedResultsController = [[NSFetchedResultsController alloc]initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"payClass" cacheName:nil];
_fetchedResultsController.delegate = self;
return _fetchedResultsController;

}

.......这个代码在应用程序加载时被调用时工作正常,但是当从另一个视图调用视图时会导致问题(请记住用于启动此tableview的应用程序很好,但我现在希望它在“菜单视图”中启动,然后导航到这个仍然具有其原始编码的tableview)

0 个答案:

没有答案