4
A
回答
17
這是一個完整的如何通過創建ABRecordRef並使用視圖控制器將其推入視圖來顯示人員的工作示例
///////////////////////////// 將其掛鉤到自定義操作。
-(IBAction)addToAddressbook:(id)sender{
ABUnknownPersonViewController *unknownPersonViewController = [[ABUnknownPersonViewController alloc] init];
unknownPersonViewController.displayedPerson = (ABRecordRef)[self buildContactDetails];
unknownPersonViewController.allowsAddingToAddressBook = YES;
[self.navigationController pushViewController:unknownPersonViewController animated:YES];
[unknownPersonViewController release];
}
//////////////////////////// 這是構建ABrecordRef
- (ABRecordRef)buildContactDetails {
NSLog(@"building contact details");
ABRecordRef person = ABPersonCreate();
CFErrorRef error = NULL;
// firstname
ABRecordSetValue(person, kABPersonFirstNameProperty, @"Don Juan", NULL);
// email
ABMutableMultiValueRef email = ABMultiValueCreateMutable(kABMultiStringPropertyType);
ABMultiValueAddValueAndLabel(email, @"[email protected]", CFSTR("email"), NULL);
ABRecordSetValue(person, kABPersonEmailProperty, email, &error);
CFRelease(email);
// Start of Address
ABMutableMultiValueRef address = ABMultiValueCreateMutable(kABMultiDictionaryPropertyType);
NSMutableDictionary *addressDict = [[NSMutableDictionary alloc] init];
[addressDict setObject:@"The awesome road numba 1" forKey:(NSString *)kABPersonAddressStreetKey];
[addressDict setObject:@"0568" forKey:(NSString *)kABPersonAddressZIPKey];
[addressDict setObject:@"Oslo" forKey:(NSString *)kABPersonAddressCityKey];
ABMultiValueAddValueAndLabel(address, addressDict, kABWorkLabel, NULL);
ABRecordSetValue(person, kABPersonAddressProperty, address, &error);
[addressDict release];
CFRelease(address);
// End of Address
if (error != NULL)
NSLog(@"Error: %@", error);
[(id)person autorelease];
return person;
}
的傢伙
//////////////////////////// 線了在標題:
記得導入這些框架:
#import <AddressBook/AddressBook.h>
#import <AddressBookUI/AddressBookUI.h>
設置委託
ABNewPersonViewControllerDelegate
這增加了接口
ABNewPersonViewController *newPersonController;
0
從目測來看,我想,而不是
ABMutableMultiValueRef address = ABMultiValueCreateMutable(kABMultiStringPropertyType);
你想
ABMutableMultiValueRef address = ABMultiValueCreateMutable(kABDictionaryPropertyType);
+0
您指出我在正確的方向。它應該是kABMultiDictionaryPropertyType。 – hfossli 2009-11-11 10:47:12
相關問題
- 1. iPhone到現有組添加聯繫人地址簿中
- 2. iphone調出地址簿聯繫人
- 3. 從VCard添加聯繫人到地址簿(IPhone)
- 4. 如何將聯繫人添加到iPhone的地址簿?
- 5. 我的聯繫人不添加在地址簿中的iOS 7
- 6. 在iPhone的UITextField在地址簿中的聯繫人
- 7. 無法看到的地址簿中的聯繫人在iPhone
- 8. 撥打地址簿中的聯繫人
- 9. 從地址簿中顯示聯繫人
- 10. 地址簿 - 正在檢索聯繫人
- 11. 黑莓將地址簿添加新聯繫人
- 12. 添加和保存地址簿的新聯繫人
- 13. 如何檢查新聯繫人是否添加到地址簿?
- 14. 訪問Iphone地址簿中的聯繫人?
- 15. 從iPhone地址簿中排序聯繫人
- 16. 從Iphone地址簿中獲取聯繫人
- 17. 如何通過單點觸摸將聯繫人添加到iPhone地址簿?
- 18. 使用AddressBookUI訪問聯繫人添加到iPhone的地址簿的日期
- 19. 從地址簿獲取Facebook聯繫人
- 20. 存儲地址簿聯繫人的kABPersonImageFormatThumbnail
- 21. 地址簿 - 鏈接聯繫人
- 22. 如何在blackBerry(風暴)中加載地址簿聯繫人
- 23. 如何獲得iphone地址簿中所有聯繫人的家庭地址
- 24. 刪除聯繫人組中的人(在Mac地址簿中)
- 25. iPhone地址簿:如何選擇多個聯繫人?
- 26. 需要顯示iPhone地址簿聯繫人的方法
- 27. 用iPhone地址簿聯繫人創建快捷方式
- 28. iPhone地址簿和聯繫人ID?它會改變嗎?
- 29. iphone地址簿保存鏈接到一個聯繫人
- 30. iPhone SDK訪問地址簿公司聯繫人
謝謝,這是一個很大的幫助。 – 2010-02-14 17:27:09
如果你想添加phonenumbers等irc它非常類似於添加郵件。只需查看屬性;) – hfossli 2010-02-15 10:31:23
添加地址後,您還需要釋放addressDict。 – 2011-01-25 23:16:29