首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xcode: sigabrt错误

Xcode: sigabrt错误
EN

Stack Overflow用户
提问于 2012-05-25 15:39:01
回答 3查看 393关注 0票数 0

我是iOS编程的新手,我正在尝试让我的应用程序运行表视图,但我找不到任何可靠的信息来解释为什么应用程序一直在中止。这是委托文件中的代码,谁能告诉我我做错了什么导致了这个错误?

代码语言:javascript
复制
- (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;
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-25 16:00:50

我假设您想要显示一个导航控制器,它有一个表视图控制器作为根视图控制器,它对您来说是TopicsViewController。

在您的

代码语言:javascript
复制
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

方法,则需要设置窗口的rootViewController属性。你不能得到它,因为你还没有设置。在此之后,您需要使其可见。下面的代码应该可以帮助您

代码语言:javascript
复制
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的对象。

票数 1
EN

Stack Overflow用户

发布于 2012-05-25 15:42:00

为了帮助调试,你应该添加一个“异常断点”。转到断点导航器(左侧面板上的一个选项卡)并单击左下角的tiny +按钮。选择“添加异常断点”,然后单击“确定”。

再次运行该应用程序,您应该会在错误所在的行处获得一个断点。

票数 3
EN

Stack Overflow用户

发布于 2012-05-25 15:59:32

胡乱猜测:您的TopicViewController为空或不是topicViewController。

您可能还会遇到一些内存问题,因为您没有释放正在创建的对象。(或者您正在使用ARC?)。你也可以检查你正在销毁你的主题对象的主机。

请提供更多代码给我们以帮助您。

问候

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10750418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档