检查 ABMultiValueRef 是不是没有值

Posted

技术标签:

【中文标题】检查 ABMultiValueRef 是不是没有值【英文标题】:Check if ABMultiValueRef is has no values检查 ABMultiValueRef 是否没有值 【发布时间】:2014-07-02 14:57:50 【问题描述】:

我想检查我的用户通讯录中的联系人是否有电话号码。如果他这样做,我想在 UITableView 中显示该名称

我尝试检查phoneNumbers != nil,但这不起作用。这是我的全部代码:

ABMultiValueRef phoneNumbers = ABRecordCopyValue(person, kABPersonPhoneProperty);

if(phoneNumbers != nil)
  [_numbers addObject:[NSString stringWithFormat:@"%@", phoneNumbers]];

【问题讨论】:

那么,当 ABRecord 没有 phone 属性时,phoneNumbers 的值是多少?你不能只检查那个值而不是 nil 吗? 不是真的,当我记录它时显示 ABMultiValueRef 0x10ab8bf40 with 0 value(s)\n 【参考方案1】:

使用ABMultiValueGetCount 检查phoneNumbers 中是否有任何值。

基于问题的示例:

ABMultiValueRef phoneNumbers = ABRecordCopyValue(person, kABPersonPhoneProperty);

if(ABMultiValueGetCount(phoneNumbers))
    [_numbers addObject:[NSString stringWithFormat:@"%@", phoneNumbers]];

【讨论】:

以上是关于检查 ABMultiValueRef 是不是没有值的主要内容,如果未能解决你的问题,请参考以下文章

检查表1中是不是存在记录的优化方法。如果没有则检查表2,否则返回默认值

检查是不是使用 jQuery 选择了选项,如果没有选择默认值

python - 检查dict的任何值是不是不是None(没有迭代器)

Sqlite检查一行中的值是不是在没有循环的下一行中的值之间

SQL 检查分区中是不是存在值,使用 CASE WHEN 没有任何 JOIN

在 VC++ Float 数据类型值中,如何检查字符串或特殊字符是不是没有混合