loaded some nib but the view outlet was not set

本文介绍了一种在iOS开发中使用nib文件加载UIViewController时遇到的view未设置问题的解决方案。通过调整xib文件中File's Owner的Class属性为UIViewController并正确连接view outlet,可以有效解决该问题。

原文连接:http://www.cnblogs.com/TivonStone/archive/2012/04/20/2460116.html


当使用 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

image

 

3. 在 File's Owner 的 image 选项卡的“Custom Class” 属性设置中,将 Class 的值改成对应的 VC, 这里改成 UIViewController,

image

                    

image

               

4. 这时候,在File's Owner 的  image选项卡中, 就 会出现“待连接设置” 的 view 属性, 也即我们的编译器 告诉我们的 the view outlet was not set 中的 view。当 File's Owner 的 class 为 NSObject 时候,是没有 view 属性的。

image

 

连接 view 属性,

image

                

5. win+r, OK.

作者:石世特 
出处:http://www.cnblogs.com/TivonStone/ 
希望本文对你有所帮助,想转随便转,心情好的话给我的文章留个链接.o(. .)o


当遇到 Lombok 未加载(lombok was not loaded)的问题时,可参考以下思路解决: - **检查网络与插件市场连接**:若在使用 IDEA 安装 Lombok 插件时搜索不到,可能是因为网络问题导致无法访问插件市场。网上多数观点认为是 “Appearance&Behavior->System Settings->Updates->User secure connection” 安全验证开启,使得无法访问 “https://plugins.jetbrains.com/”,可尝试关闭此安全验证。若关闭后无效,可进一步检查网络配置,尝试配置代理。有时需在配置代理后点击 “apply” 才会生效。还需确保浏览器能够访问官网,若官网在浏览器中无法访问,可能需要先解决该问题。比如可尝试修改 SSL 安全勾选状态,点击 “apply” 后再取消勾选并再次点击 “apply”,使代理配置生效 [^1][^2]。 - **检查插件安装与配置**:确保 Lombok 插件已正确安装到 IDEA 中。安装完成后,检查 IDEA 的设置,确认 Annotation Processors 已启用。在 IDEA 中,可通过 “File -> Settings -> Build, Execution, Deployment -> Compiler -> Annotation Processors”,勾选 “Enable annotation processing”。 - **检查项目依赖**:确认项目的构建文件(如 Maven 的 pom.xml 或 Gradle 的 build.gradle)中已正确添加 Lombok 依赖。 - **Maven 项目**:在 `pom.xml` 文件中添加以下依赖: ```xml <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.22</version> <scope>provided</scope> </dependency> ``` - **Gradle 项目**:在 `build.gradle` 文件中添加以下依赖: ```groovy compileOnly 'org.projectlombok:lombok:1.18.22' annotationProcessor 'org.projectlombok:lombok:1.18.22' ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值