Swift - IBOutlet返回nil(fatal error: unexpectedly found nil while unwrapping an Optional value)
在Swift 中 ViewController 默认构造方法不关联同名的xib文件
在使用OC的时候,调用ViewController的默认构造函数,会自动关联到一个与ViewController名字相同的xib文件上,
这样无疑方便了开发者,减少了代码量。但不知道为什么,在swift中,新建ViewController实例,不在默认关联xib,
一定要开发者指定xib的名字,这对于有代码洁癖的人是不可接受的,因为通常情况下,
xib的名字一定是和ViewController的名字相同的。
// Objective C中的写法 TwoViewController *v = [[TwoViewController alloc] init]; //这样会把TwoViewController默认关联到TwoViewController.xib上 // 等同调用了方法 TwoViewController *v = [[TwoViewController alloc] initWithNibName:@"TwoViewController" bundle:nil]; // Swift中的写法 let v = TwoViewController() //不会关联TwoViewController.xib文件 // 一定要指定xib文件 let v = TwoViewController(nibName: "TwoViewController", bundle: nil) // 我们改怎样让TwoViewController()去找同名字的xib文件呢,
// 其实原来很简单,重写init方法就行了,
// 新建BaseViewController.swift 重写init方法,
// 其他的ViewController继续于BaseViewController。 override init() { // 获取当前Class的名字,在swift中class名字前会加入Module名字,所以这里以'.'划分,取'.'后面的字符串. super.init(nibName: (self.classForCoder.description() as NSString).componentsSeparatedByString(".")[1] as NSString, bundle: NSBundle.mainBundle()) } required init(coder aDecoder: NSCoder) { super.init(coder: aDecoder) }
Swift - IBOutlet返回nil(fatal error: unexpectedly found nil while unwrapping an Optional value)的更多相关文章
- Swift Error fatal error: unexpectedly found nil while unwrapping an Optional value
致命的错误: 对一个为空的optional值进行解包. 强制解包(forced unwrapping): 在optional后面加叹号. 比如 "value!" 错误代码: le ...
- PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题
PHP开发时,当你使用empty检查一个函数返回的结果时会报错:Fatal error: Can't use function return value in write context 例如: &l ...
- (转载)PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题
(转载)http://be-evil.org/post-153.html PHP开发时,当你使用empty检查一个函数返回的结果时会报错:Fatal error: Can't use function ...
- Fatal error: Allowed memory size of 524288000 bytes exhausted (tried to allocate 64 bytes) in D
Fatal error: Allowed memory size of 524288000 bytes exhausted (tried to allocate 64 bytes) in D 从数据库 ...
- PHP运行错最有效解决办法Fatal error: Out of memory (allocated 786432) (tried to allocate 98304 bytes) in H:\freehost\zhengbao2\web\includes\lib_common.php on line 744
原文 PHP运行错最有效解决办法Fatal error: Out of memory (allocated 6029312) Fatal error: Out of memory (allocated ...
- 【nodejs】FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
当使用大批量(>100)的SQL进行MySql数据库插值任务时,会发生以下错误: 总计将有371579条数据将被插入数据库 开始插入DB <--- Last few GCs ---> ...
- win7 X64 使用VS2008 ->编译报错LINK : fatal error LNK1000: Internal error during Incr的解决
编译报错LINK : fatal error LNK1000: Internal error during Incr的解决 Win7 旗舰版 Microsoft Visual Studio 2008 ...
- php捕获Fatal error错误与异常处理
php中的错误和异常是两个不同的概念. 错误:是因为脚本的问题,比如少写了分号,调用未定义的函数,除0,等一些编译语法错误. 异常:是因为业务逻辑和流程,不符合预期情况,比如验证请求参数,不通过就用 ...
- Zen Cart 138 在PHP5.3环境下出现的Fatal error: Cannot redeclare date_diff()
Zen Cart 138 在PHP5.3环境下出现的Fatal error: Cannot redeclare date_diff() in includes/functions/functions_ ...
随机推荐
- 解决Windows服务1053错误方法
WCF使用MSMQ绑定寄宿在Windows服务上,但启动服务时出现1053错误 在网上搜索了N多解决方案,都是比较高深的扯到原理和系统bug等问题 看了看到最后也没有解决,最终我决定使用一个比较山寨的 ...
- 前台任意页面调用自定义字段选项 box 单选 多选方法及查询
在模板页增加函数,函数写法比较特殊,但是v9模板引擎nb,能够识别 <? function xbox($field,$na){ $a=p ...
- 《python基础教程》笔记之 字典
字典创建 字典由多个键值对组成,每个键和对应值之间用冒号隔开,项之间用逗号隔开,而整个字典用一对大括号括起来,如 >>> phonebook={'alice':'0123', 'Be ...
- C++ primer学习方法
C++ primer学习: 第一次可以跳着看.关键是要尽快用起来,在使用中熟练,而不是在细节中迷失. 以C++ Primer第五版为例,第一遍读的时候: Part1也就是前七章,除了6.6,6 ...
- 一次awk脚本的重构
# 脚本功能说明: # . 检查URL中的域名是否是指定版本的域名 # . 对访问bid,authorid的游客身份排重,并累加其pv # 全局变量说明 # DOMIAN_LIST 是数组,key是要 ...
- MongoDB insert/update/one2many案例
以博文与评论为例,博文有标题内容,对应多个评论,评论有评论人.评论内容等. ()插入一条博文: db.blog.insert( {','title':'this is blog title1','co ...
- Grunt Server:Fatal error: Port 35729 is already in use by another process.
提示35729端口被占用,使用lsof命令进行查看: y@y:yo-test$ lsof -i : COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ...
- Boost 和 STL 相比有哪些优势和劣势?
1. 在设计原则上,STL和Boost大体统一因为STL和Boost基本上都是标准委员会那批人在策划.审核和维护,所以口味上是相对接近的.但是因为Boost并不在标准中,或者说是下一代标准的试验场,所 ...
- HDU_2027——统计元音
Problem Description 统计每个元音字母在字符串中出现的次数. Input 输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字符串. Output ...
- POJ-魔兽世界之一:备战
描述 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部之间是依次排列的若干城市. 红司令部,City 1,City 2,……,City n,蓝司令部 两军的司令部都会制造武士.武士一共 ...