1
我与iOS通讯录框架的测试,我试图找出什么ABMultiValueCopyLabelAtIndex(),什么是提取特定标签值的最佳方式,并在同一时间想,如果这些标签的顺序任何随机原因改变。什么是标签顺序
这是当我添加新联系人或添加到现有的我在做什么:在委托调用
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
请注意,我假设的主要标签是在指数。我知道,与CFString字符串标签的比较是可能的,但这些标签看起来很有趣,给我这个奇怪的直觉比较agains他们的时候。所以,我不太清楚如何去做这件事。
还要注意,没有“主标签”的概念。用户可以在任何顺序对这些电话号码:你无法知道哪个电话号码被认为是“主”,如果任何的方式。 – matt
好的,谢谢@matt指出这一点。我想从某人的经历中了解这一点:) –
顺便说一句,直到现在我都没有注意到这一点,但我是你书中的忠实粉丝!感谢您为此付出了如此惊人的努力。 –