我是iOS编程的新手,我正在尝试让我的应用程序运行表视图,但我找不到任何可靠的信息来解释为什么应用程序一直在中止。这是委托文件中的代码,谁能告诉我我做错了什么导致了这个错误?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
listTopics = [NSMutableArray arrayWithCapacity:8];
Topics *topic = [[Topics alloc]init];
topic.topic = @"Movies";
[listTopics addObject:topic];
topic = [[Topics alloc]init];
topic.topic = @"Games";
[listTopics addObject:topic];
topic = [[Topics alloc]init];
topic.topic = @"TV";
[listTopics addObject:topic];
topic = [[Topics alloc]init];
topic.topic = @"Cars";
[listTopics addObject:topic];
topic = [[Topics alloc]init];
topic.topic = @"Actors";
[listTopics addObject:topic];
topic = [[Topics alloc]init];
topic.topic = @"Sports";
[listTopics addObject:topic];
topic = [[Topics alloc]init];
topic.topic = @"Brands";
[listTopics addObject:topic];
topic = [[Topics alloc]init];
topic.topic = @"Music";
[listTopics addObject:topic];
topic = [[Topics alloc]init];
UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
TopicsViewController *topicsViewController = [[navigationController viewControllers]objectAtIndex:0];
topicsViewController.listTopics = listTopics;
return YES;
}发布于 2012-05-25 16:00:50
我假设您想要显示一个导航控制器,它有一个表视图控制器作为根视图控制器,它对您来说是TopicsViewController。
在您的
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法,则需要设置窗口的rootViewController属性。你不能得到它,因为你还没有设置。在此之后,您需要使其可见。下面的代码应该可以帮助您
TopicsViewController *topicsViewController = [[TopicsViewController alloc] init];
// or
TopicsViewController *topicsViewController = [[TopicsViewController alloc]initWithStyle:UITableViewStylePlain];
// depends if it is a view controller or table view controller
topicsViewController.listTopics = listTopics;
UINavigationController *topicsNavController = [[UINavigationController alloc] initWithRootViewController:topicsViewController];
self.window.rootViewController = topicsNavController;
[self.window makeKeyAndVisible];
return YES;请注意,如果您不使用ARC,则需要释放您在其上调用alloc的对象。
发布于 2012-05-25 15:42:00
为了帮助调试,你应该添加一个“异常断点”。转到断点导航器(左侧面板上的一个选项卡)并单击左下角的tiny +按钮。选择“添加异常断点”,然后单击“确定”。
再次运行该应用程序,您应该会在错误所在的行处获得一个断点。
发布于 2012-05-25 15:59:32
胡乱猜测:您的TopicViewController为空或不是topicViewController。
您可能还会遇到一些内存问题,因为您没有释放正在创建的对象。(或者您正在使用ARC?)。你也可以检查你正在销毁你的主题对象的主机。
请提供更多代码给我们以帮助您。
问候
https://stackoverflow.com/questions/10750418
复制相似问题