抱歉,如果这个问题很简单,但过去 2 天我一直被困在这个错误上,而且我无法克服它。我正在使用 Xcode 4.3.2
我正在尝试在名为 BController.m 的文件中名为“- (void) process”的方法中加载一个名为 AController.xib 的 nib
为了清楚起见,我将 ./A/AController.xib(这是一个 UIView)、./A/AController.m、./A/AController.h 复制到目录 ./B
我只提到这一点是因为我不确定这对我的问题是否重要。
目前,我的流程作为流程工作(这可能是我的问题):
- 带有“购买”按钮的视图加载
- 用户单击“购买”按钮,该按钮有一个名为“buyNow”的 IBOutlet
- “buyNow”调用“buy”,然后调用“process”
然后进程尝试使用以下内容(选项 1)加载 nib:
控制器 *blah; for (id object in bundle){ if ([object isKindOfClass:[AController class]]) blah = (AController *) object; } assert(blah != nil && "blah can't be nil"); [self.view addSubView: blah];
我在这里得到的错误是 main.m 中的“线程 1:信号 SIGABRT”我也尝试过(选项 2),
AController *myView = [[AController alloc] initWithFrame:self.view.bounds];
[self.view addSubview:myView];
[AController release];
和(选项 3)
AController * vc = [[AController alloc] initWithNibBundle:@"AController" bundle:nil]; [self.nc pushViewController:vc animated:NO];
对于所有 3 个选择,我都得到相同的错误。在方法“过程”中尝试了每个选项。“过程”是用 Bm 写的,谁能提供一些帮助,以便我弄清楚这一点?关于这些选项为何失败的任何指导都将非常有助于我的理解,并将不胜感激。感谢您帮助菜鸟!