好吧,为了获得电话属性ABAddressBook
,我使用了一个循环。
编辑:我试过的代码:
ABMultiValueRef phones = ABRecordCopyValue(contactPerson, kABPersonPhoneProperty);
for (NSUInteger j = 0; j < ABMultiValueGetCount(phones); j++) {
NSMutableString *phone = [CFBridgingRelease(ABMultiValueCopyValueAtIndex(phones, j)) mutableCopy];
if ([phone hasPrefix:@"06"] || [phone hasPrefix:@"07"]){
person.number = phone;
}
但我不认为这是最好的选择..?
也许是这样的:
if (ABMultiValueRef hasprefix...06 || 07){
person.number = phones
}
当联系人有多个电话号码值时,我可以用ABMultiValueGetCount(phones)
.
好吧,现在举个例子:
ABAddressBook
联系人 « Peter » 在(NSLog
电话)中有 5 个电话号码:
02 35 00 00 00
07 00 00 00 00
+1(919)949-8234
06 00 00 00 00
9009498923
我想对这些数字进行排序,并且只存储一个NSString
:
如果数字以 07 开头 -> 接受。(分配给NSString
)
如果数字以 06 开头 —> 接受。(分配给NSString
)
如果其他号码 -> 不分配。
如果他们是两个电话号码:一个是 06,一个是 07,取最后一个注册ABAddressBook
的号码(或者如果这不可能/太复杂,取 07 开头的号码)。
我想为ABAddressBook
. 并且每个联系人只有一个号码(如果号码不是以 06 或 07 开头,则为 0)。
在我的例子中:
彼得有这个号码:07 00 00 00 00