Xcode 4:在不同文件中的方法中加载Nib



如果这个问题是初级的,很抱歉,但在过去的两天里,我一直被这个错误所困扰;我一直没能通过它。我正在使用Xcode 4.3.2

我正试图在名为BController.m 的文件中加载一个名为AController.xib的笔尖,方法名为"-(void)process">

为了清楚起见,我照抄了/A/AController.xib(它是一个UIView)/将.A/AController.m、./A/AController.h添加到目录/B

我之所以提到这一点,是因为我不确定这对我的问题是否重要。

目前,我的流作为流工作(这可能是我的问题):

  • 视图加载时带有"购买"按钮
  • 用户单击"购买"按钮,该按钮有一个名为"buyNow"的IBOutlet
  • "buyNow"调用"buy",然后调用"process">
  • 该过程然后尝试用以下内容加载笔尖(选项1):

    A控制器*等等;for(bundle中的id对象){if([object isKindOfClass:[AController-class]])blah=(AController*)对象;}断言(blah!=nil&&"blah不能为nil");[self.view addSubView:blah];

我在这里得到的错误是main.m中的"线程1:signal 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.写的。有人能帮我弄清楚吗?关于这些选择失败的原因的任何指导都将非常有助于我的理解,我们将不胜感激。谢谢你帮了一个小家伙!

如果AControllerUIView子类,则无法加载NIB。验证它实际上是一个控制器,但从initWithFrame和将它添加到视图的方式来看,它看起来不是,或者处理不正确。

相关内容

  • 没有找到相关文章

最新更新