5

我的应用程序正在处理联系人数据。

电话标签检索如下

let locPhoneLabel : NSString = (ABMultiValueCopyLabelAtIndex(phones, numberIndex) != nil) ? ABMultiValueCopyLabelAtIndex(phones, numberIndex).takeUnretainedValue() as CFStringRef : ""

let phoneLabel:Unmanaged<CFString> = ABAddressBookCopyLocalizedLabel(locPhoneLabel)

我不知道如何将 phoneLabel 转换为 NSString?

4

2 回答 2

12

尝试这个:

let phoneLabel = ABAddressBookCopyLocalizedLabel(locPhoneLabel)
.takeRetainedValue() as? NSString

如果您有兴趣,这里有一个很棒的帖子。不受 NSHipster 管理

于 2015-08-05T14:13:16.877 回答
0

对我来说,它只帮助:

let locLabel : CFStringRef = (ABMultiValueCopyLabelAtIndex(phoneNumbers, i) != nil) ? (ABMultiValueCopyLabelAtIndex(phoneNumbers, i).takeUnretainedValue()) as CFStringRef : ""
let noteForThisNumber = String (ABAddressBookCopyLocalizedLabel(locLabel).takeRetainedValue())
于 2016-04-20T05:19:48.110 回答