当应用 initWithNibName 函数, 并应用 由nib文件生成的ViewController 的view属性时辰,碰到这个题目。
//load loc.xib
UIViewController * UIVC = [[UIViewController alloc] initWithNibName:@"loc" bundle:nil];
[self.view addSubview:UIVC.view];
[UIVC release];
NibName[2203:207] *** Terminating app due to uncaught exception ""NSInternalInconsistencyException"", reason: ""-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "loc" nib but the view outlet was not set.""
概况意思是指 我们加载的nib文件,"view" 属性值没有进行设置.
这里的实际景象: 不是所生成的 VC 的view属性值为 nil, 而是所生成的 VC 没有 view 这个属性。 我们应用的是UIViewController 定义的VC, 为什么 VC (View Controller) 会没有 view 属性呢?
(多么具有逻辑性的表述都不如一次成功的完全操纵,begin :)
解决规划:
1. 点击我们要加载的 xib 文件
2. 在右边选中 File""s Owner
3. 在 File""s Owner 的 选项卡的“Custom Class” 属性设置中,将 Class 的值改成对应的 VC, 这里改成 UIViewController,
4. 这时辰,在File""s Owner 的 选项卡中, 就 会呈现“待连接设置” 的 view 属性, 也即我们的编译器 告诉我们的 the view outlet was not set 中的 view。当 File""s Owner 的 class 为 NSObject 时辰,是没有 view 属性的。
连接 view 属性,
5. win+r, OK.