【问题标题】:UIViewController presentModalViewController: animated: causes SIGABRTUIViewController presentModalViewController: animated: 导致 SIGABRT
【发布时间】:2012-07-07 06:49:54
【问题描述】:

我有两个 nib 文件。 ViewController.xib 和 NewView.xib。

当我尝试在单击按钮时执行以下代码时,从第一个 nib 的 viewController 内部:

NewView *secondView = [NewView alloc] initWithNibName:@"NewView.xib" bundle:nil];
secondView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:secondView animated:YES];

一个 SIGABRT 被发送到程序。 (NewView 是第二个视图控制器)

但是当我将第一行替换为:

NewView *secondView = [NewView alloc]init];

它工作正常,我的第二个笔尖显示为模态视图。

文件的所有者设置为NewView,视图也连接到文件的所有者。

我对 iOS 很陌生,不明白为什么会这样。请点亮。

【问题讨论】:

  • 尝试在加载 xib 文件后立即添加类似 NSLog("New View: %@", secondView) 的内容,这样我们就可以查看 secondView 是否真的被加载了。我怀疑它可能为零。
  • 是的。它没有被加载。但我不明白为什么。

标签: ios cocoa-touch uiviewcontroller sigabrt


【解决方案1】:

实际上,我想我知道你需要做什么。换个试试

NewView *secondView = [NewView alloc] initWithNibName:@"NewView.xib" bundle:nil];

NewView *secondView = [NewView alloc] initWithNibName:@"NewView" bundle:nil];

我相信我之前遇到过这个问题,归结为您在加载 xib 文件时不应该包含扩展名。

【讨论】:

    猜你喜欢
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-13
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多