【发布时间】:2012-10-03 18:47:16
【问题描述】:
对不起,如果这个问题是基本的,但过去 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 对象){ if ([object isKindOfClass:[AController class]]) blah = (AController *) 对象; } 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 个选项都得到了相同的错误。在方法“过程”中尝试了每个选项。 “过程”是用 B.m. 写的。任何人都可以提供一些帮助,以便我可以解决这个问题吗?关于这些选项为何失败的任何指导都将非常有助于我的理解,并将不胜感激。感谢您帮助菜鸟!
【问题讨论】:
-
./A/AController.xib(这是一个 UIView)..我认为 nib 是用于 UIViewcontroller 而不是 UIView
-
AController.xib 是 UIView。 AController 是 UIViewController 的子类
标签: objective-c xcode xcode4.3 nib loadnibnamed