unexpectedly found nil while unwrapping an Optional value

今天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

你可能感兴趣的:(unexpectedly found nil while unwrapping an Optional value)