Objective-C – ABMultiValueRef 获取类型 (ABAddressBook)

标签 objective-c ios cocoa-touch cocoa abaddressbook

我想弄清楚电话号码的种类(家庭、手机、传真等),但我不知道如何使用 ABMultiValueRef 来做到这一点。 .我可以通过以下方式获取类型:

CFStringRef cfLabel = ABMultiValueCopyLabelAtIndex(multiValueRef, i);

NSString *label = (__bridge NSString*) cfLabel;

NSLog(@"%@", label); // prints i.e "_$!<Mobile>!$_"

CFRelease(cfLabel);

因此当它打印 _$!<Mobile>!$_ 时我可以做一些 IF 逻辑来检查标签是否等于 _$!<Mobile>!$_但如果 Apple 决定改变 Mobile 标签的值(value), future 会怎样呢?对我来说,如果有一个我可以检查的常量,感觉会好得多。但是我找不到任何可以使用的东西?

最佳答案

这些 CFStringRef常量在 AddressBook 框架(准确地说是 ABPerson.h)中定义:

kABPersonPhoneMobileLabel
kABPersonPhoneIPhoneLabel
kABPersonPhoneMainLabel
kABPersonPhoneHomeFAXLabel
kABPersonPhoneWorkFAXLabel
kABPersonPhoneOtherFAXLabel
kABPersonPhonePagerLabel

特别是,kABPersonPhoneMobileLabel_$!<Mobile>!$_值(value)。

请引用ABPerson reference有关这些常量和 AddressBook 框架定义的其他常量的更多信息。

关于Objective-C – ABMultiValueRef 获取类型 (ABAddressBook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13234128/

相关文章:

ios - 如何在 iOS UITableViewController 中初始化一个属性

objective-c - NSLog 可以打印的最大尺寸

objective-c - 我应该在 dealloc 中释放实例变量和属性吗?

iphone - 改变 CAShapeLayer 中的线宽

ios - 如何在通知中心频繁更新今日小部件?

ios - Swift 仅使用边框底部使输入透明

ios - 使用 App-prefs :root? 是否被视为私有(private) API

objective-c - 在登录页面获取用户 ID

ios - 将 View Controller 推送到选项卡 Controller 中的 View 控件

ios - 如果操作系统不支持底层功能,是否足以禁用工具栏按钮