我是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;
}
答案 0 :(得分:3)
为了帮助调试,您应该添加一个“异常断点”。 转到断点导航器(左侧面板上的一个选项卡),然后单击左下角的小+按钮。选择“添加异常断点”,然后单击“确定”。
再次运行应用程序,你应该在错误行找到一个断点。
答案 1 :(得分:1)
狂野猜测:你的topicViewController是nil或者不是TopicViewController。
您可能还会遇到一些内存问题,因为您没有发布正在创建的对象。 (或者您正在使用ARC?)。 您也可以检查您正在销毁主题对象的主页。
请提供更多代码供我们帮助您。
此致
答案 2 :(得分:1)
我假设您要显示一个导航控制器,它将表视图控制器作为根视图控制器,这是您的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的对象。