我在Interface Builder中创建了一个带有标签和文本框的视图,并将其作为IBOutlets进行了定义。当我从Storyboard中定义的另一个视图跳转到该视图时,我可以完美地查看此屏幕。 然而,我还有另一个XIB文件和相关的UIViewController,我想从这个视图中访问它。因为我的XIB不在Storyboard中,所以无法使用segue跳转。相反,我必须以编程方式执行转换。
PlantDetailViewController *plantDetailVC = [[PlantDetailViewController alloc] init];
[self.currentNavigationController pushViewController:plantDetailVC animated:YES];
当执行此代码时,它会转换到视图,但视图是空白的。我已经对代码进行了调试并进入了viewDidLoad和viewWillAppear,但我的所有IBOutlets都是NIL...因此屏幕上什么也没有显示!
有人能告诉我为什么它们可能是NIL以及我如何初始化它们吗?
谢谢
布莱恩
UIViewController
的init
方法等同于调用initWithNibName:nil bundle:nil
。如果有一个与视图控制器类名相同的 nib 文件(或者去掉末尾的单词Controller
后相同的文件名),则视图控制器将在loadView
中加载该 nib。 - rob mayoff