ABMultiValueCopyLabelAtIndex() 中的标签顺序是什么
What is the labels order in ABMultiValueCopyLabelAtIndex()
我正在使用 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 标签进行比较,但这些标签看起来很有趣,让我在再次比较它们时有一种奇怪的直觉。所以,我真的不知道该怎么做。
您不应该承担任何订单。你必须阅读标签的价值。它们确实 "look funny" 但它们很容易处理:它们的形式是 "_$!<Label>!$_"
,其中 "_$!<"
和 ">!$_"
只是您可以依赖的分隔符。
我正在使用 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 标签进行比较,但这些标签看起来很有趣,让我在再次比较它们时有一种奇怪的直觉。所以,我真的不知道该怎么做。
您不应该承担任何订单。你必须阅读标签的价值。它们确实 "look funny" 但它们很容易处理:它们的形式是 "_$!<Label>!$_"
,其中 "_$!<"
和 ">!$_"
只是您可以依赖的分隔符。