今天swift3中遇到的問(wèn)題,兩句不同的聲明(實(shí)際上牽扯到的是swift的安全問(wèn)題)
第一個(gè)是聲明時(shí)直接實(shí)例
let addressBook: ABAddressBook = ABAddressBookCreateWithOptions(nil, nil).takeRetainedValue()
第二個(gè)是單純聲明
var addressBook:ABAddressBook?
最初使用的是第一個(gè)方式,在用戶允許使用通訊錄的情況下頁(yè)面跳轉(zhuǎn)沒(méi)問(wèn)題,而在用戶未允許的狀態(tài)下就報(bào)以下錯(cuò)誤
unexpectedly found nil while unwrapping an Optional value
當(dāng)時(shí)打斷點(diǎn)還定位不到問(wèn)題,后來(lái)反應(yīng)過(guò)來(lái)第一個(gè)實(shí)例化的聲明方式在為授權(quán)的情況下有問(wèn)題。
從這里又牽扯出swift語(yǔ)法的嚴(yán)格,我真用的不習(xí)慣
在stackoverflow中也存在類似的問(wèn)題,本質(zhì)上來(lái)說(shuō)都是同樣的問(wèn)題。
unexpectedly found nil while unwrapping an Optional value