1
我在iPhone SDK中使用地址簿的經驗很少。從iPhone用戶地址簿中獲取隨機姓名和電話號碼(同一聯繫人)
有誰有一個代碼片段或知道的代碼來獲得一個人的姓名和電話號碼如「弗雷德·史密斯 - 027 292 2112" 我沒有多少運氣與我試過的東西
。我想以編程方式做到這一點,而不是讓用戶決定(人的隨機挑選)。我也不想顯示該聯繫人挑選要麼
任何教程鏈接,或任何將不勝感激。
在此先感謝
山姆
我在iPhone SDK中使用地址簿的經驗很少。從iPhone用戶地址簿中獲取隨機姓名和電話號碼(同一聯繫人)
有誰有一個代碼片段或知道的代碼來獲得一個人的姓名和電話號碼如「弗雷德·史密斯 - 027 292 2112" 我沒有多少運氣與我試過的東西
。我想以編程方式做到這一點,而不是讓用戶決定(人的隨機挑選)。我也不想顯示該聯繫人挑選要麼
任何教程鏈接,或任何將不勝感激。
在此先感謝
山姆
此代碼將從您的地址簿中獲得一個隨機聯繫人。然後它將添加名字和姓氏,並將第一個電話號碼添加到UILabel屬性(第一,最後和電話)。
爲了使這項工作,你必須先導入這些頭文件:
#import <AddressBook/AddressBook.h>
#import <stdlib.h>
stdlib.h中被導入到能夠使用arc4random。
- (IBAction)randomContact:(id)sender {
ABAddressBookRef addressBook = ABAddressBookCreate();
NSArray *people = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);
// randomize an index
NSInteger i = [people count];
i = arc4random() % i;
// get first and last name
first.text = (NSString *)ABRecordCopyValue([people objectAtIndex:i], kABPersonFirstNameProperty);
last.text = (NSString *)ABRecordCopyValue([people objectAtIndex:i], kABPersonLastNameProperty);
// get first phonenumber
ABMultiValueRef multi = ABRecordCopyValue([people objectAtIndex:i], kABPersonPhoneProperty);
phone.text = (NSString*)ABMultiValueCopyValueAtIndex(multi, 0);
[people release];
}