如何将此函数从SWIFT2.3重写为Swift 3
let unmanagedPhones = ABRecordCopyValue(person, kABPersonPhoneProperty)
let phones: ABMultiValue = Unmanaged.fromOpaque(unmanagedPhones.toOpaque()).takeUnretainedValue() as NSObject as ABMultiValue编译器说:'Unmanaged<CFTypeRef>?' has no member 'toOpaque'
请帮帮我
发布于 2016-07-21 20:55:06
AddressBook框架在iOS9中被废弃,苹果随时会说:"AddressBook实际上已经从iOS 10.x中删除了“。你最好尽快为联系人框架做准备。
您所使用的代码非常冗余,以至于即使在Swift2中也不需要某些部分。
要从T中检索Unmanaged<T>?对象,只需立即调用takeRetainedValue()或takeUnretainedValue()即可。
let phones: ABMultiValue? = unmanagedPhones?.takeRetainedValue()takeRetainedValue()用于Copy-ruled函数的结果。ABMultiValue是CFTypeRef在Swift3中的一个类型,所以您不需要转换结果。Unmanaged<T>?可能是零。https://stackoverflow.com/questions/38510196
复制相似问题