2012-04-17 23 views
6
ABAddressBookRef addressBook = ABAddressBookCreate(); 
CFArrayRef nameArray = ABAddressBookCopyArrayOfAllPeople (addressBook); 

m_SourceContactsUserArray = [[NSMutableArray alloc] init]; 
for (int i = 0; i<CFArrayGetCount(nameArray); i++) { 
    ABRecordRef person = CFArrayGetValueAtIndex(nameArray, i); 
    NSString *personName = (NSString*)ABRecordCopyValue(person,kABPersonFirstNameProperty); 
    [m_SourceContactsUserArray addObject:personName]; 
} 
CFRelease(addressBook); 
CFRelease(nameArray); 
+3

Xin vui lòng giải thích vấn đề là gì? –

Trả lời

16

Hãy thử mã này:

ABAddressBookRef myAddressBook = ABAddressBookCreate(); 
NSArray *allPeople = (NSArray *)ABAddressBookCopyArrayOfAllPeople(myAddressBook); 

for (id record in allPeople) { 
    NSMutableDictionary *newRecord = [[NSMutableDictionary alloc] init]; 
    CFTypeRef bDayProperty = ABRecordCopyValue((ABRecordRef)record, kABPersonBirthdayProperty); 

    if (ABRecordCopyValue((ABRecordRef)record, kABPersonBirthdayProperty)) 
      { 
     NSDate *date=(NSDate*)bDayProperty; 
     [newRecord setObject:date forKey:@"birthDate"]; 
     date=nil; 
     [date release]; 
    } 
    CFRelease(myAddressBook); 
} 

nó sẽ giúp bạn.

4

Sử dụng sau đây để có được một CFDateRef cho ngày sinh nhật của người đó:

CFDateRef date = ABRecordCopyValue(person, kABPersonBirthdayProperty); 
Các vấn đề liên quan