ABMultiValueCopyLabelAtIndex()

时间:2015-06-04 17:27:59

标签: ios swift abaddressbook

我正在使用iOS AddressBook框架进行测试,我正在尝试计算什么,在特定标签中提取值的最佳方法是什么,并且如果这些标签的顺序发生变化,同时也会出于任何随机原因而想知道。

这是我在添加新联系人或添加到现有联系人时所做的事情:

 let phone:ABMutableMultiValue = ABMultiValueCreateMutable(
        ABPropertyType(kABStringPropertyType)).takeRetainedValue()
 ABMultiValueAddValueAndLabel(phone, phoneNumber, kABPersonPhoneMainLabel, nil) 

稍后在委托致电unknownPersonViewController()时,我正在这样做:

let phone: ABMultiValueRef = ABRecordCopyValue(person,
                kABPersonPhoneProperty).takeRetainedValue()
firstPhone = ABMultiValueCopyValueAtIndex(phone, 0).takeRetainedValue() as! String

请注意,我假设主要标签位于索引 0 。我知道可以与CFString标签进行比较,但这些标签看起来很有趣,在比较它们时给我这种奇怪的直觉。所以,我不确定如何解决这个问题。

1 个答案:

答案 0 :(得分:1)

您不应该承担任何订单。您必须阅读标签的值。它们“看起来很有趣”,但它们很容易处理:它们的格式为"_$!<Label>!$_",其中"_$!<"">!$_"只是您可以依赖的分隔符。