- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 kABPersonPhoneProperty 从地址簿中获取 iPhone“电话号码”。然而,一旦我运行该程序,即使联系人有手机号码、家庭号码和 iPhone 号码,也只出现一个电话号码。请帮忙,我希望能得到每个联系人的所有电话号码。谢谢。
完整方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"SimpleCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
// cell.textLabel.text = [people objectAtIndex:indexPath.row];
ABRecordRef record = (__bridge ABRecordRef) [people objectAtIndex:[indexPath row]];
NSString *firstName = (__bridge_transfer NSString*)ABRecordCopyValue(record, kABPersonFirstNameProperty);
NSString *lastName = (__bridge_transfer NSString*)ABRecordCopyValue(record, kABPersonLastNameProperty);
NSLog(@"FirstName %@, LastName %@", firstName, lastName);
cell.nameLabel.text = [NSString stringWithFormat:@"%@ %@", firstName, lastName];
ABMultiValueRef mainPhone = ABRecordCopyValue(record, kABPersonPhoneProperty);
for (CFIndex i = 0; i < ABMultiValueGetCount(mainPhone); i ++) {
NSString *phoneMobileNumber = (__bridge_transfer NSString*)ABMultiValueCopyValueAtIndex(mainPhone, i);
cell.telNo.text = [NSString stringWithFormat:@"%@ %@" , home, phoneMobileNumber];
NSLog(@"%@,%@", home, phoneMobileNumber);
}
return cell;
}
最佳答案
好的,这是解决方案
` ABAddressBookRef addressBook=ABAddressBookCreate();
NSArray *allPeople=(NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);
NSMutableArray *holdEachPersonMobileNumbers=[NSMutableArray new];
for (id person in allPeople) {
ABMultiValueRef phoneNumbers = ABRecordCopyValue(( ABRecordRef)(person), kABPersonPhoneProperty);
NSString* mobile=@"";
for (int i=0; i < ABMultiValueGetCount(phoneNumbers); i++) {
mobile = (NSString*)ABMultiValueCopyValueAtIndex(phoneNumbers, i);
NSCharacterSet *trim = [NSCharacterSet characterSetWithCharactersInString:@"#();$&-+"];
mobile = [[mobile componentsSeparatedByCharactersInSet: trim] componentsJoinedByString: @""];
mobile= [mobile stringByReplacingOccurrencesOfString:@"\"" withString:@""];
mobile=[mobile stringByReplacingOccurrencesOfString:@" " withString:@""];
[holdEachPersonMobileNumbers addObject:mobile];
}
}
`
此处holdEachPersonMobileNumbers保存与您在地址簿中选择的特定人员关联的所有号码
将上面的代码放入此方法中- (BOOL)peoplePickerNavigationController: (ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
希望你遵守这个协议(protocol)ABPeoplePickerNavigationControllerDelegate并导入这个
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>
关于iphone - 如何从通讯录 IOS 5 KA PersonPhone 属性中获取所有电话号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11277242/
我正在尝试为我正在处理的项目的 URL 缩短器设置一个带有 .ka 后缀的域。例如类似于 drbl.in。我在网上查了一下,这个后缀似乎还没有在任何国家注册过,也没有出现过任何域名服务。关于如何解决这
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 9 年前。 Improve t
这是我的简单代码。 int num1, num2; cin >> num1 >> num2; int num3, num4; cin >> num3 >> num4; double result1 =
在市场上我的一个 Android 应用程序的应用程序统计页面中,我看到名为 asura、eagle 和 ka 的设备。此应用程序可用于 Google TV,而我的其他应用程序不可用,因此我假设这些应用
我正在使用 kABPersonPhoneProperty 从地址簿中获取 iPhone“电话号码”。然而,一旦我运行该程序,即使联系人有手机号码、家庭号码和 iPhone 号码,也只出现一个电话号码。
我是一名优秀的程序员,十分优秀!