今天swift3中遇到的问题,两句不同的声明(实际上牵扯到的是swift的安全问题)
第一个是声明时直接实例
let addressBook: ABAddressBook = ABAddressBookCreateWithOptions(nil, nil).takeRetainedValue()
第二个是单纯声明
var addressBook:ABAddressBook?
最初使用的是第一个方式,在用户允许使用通讯录的情况下页面跳转没问题,而在用户未允许的状态下就报以下错误
unexpectedly found nil while unwrapping an Optional value
当时打断点还定位不到问题,后来反应过来第一个实例化的声明方式在为授权的情况下有问题。
从这里又牵扯出swift语法的严格,我真用的不习惯
在stackoverflow中也存在类似的问题,本质上来说都是同样的问题。
unexpectedly found nil while unwrapping an Optional value