2013-01-12 73 views
-2

我使用這個代碼鍵的值[0]等

NSDictionary *yourDictionary; 

NSArray * yourKeys; 
yourKeys = [yourDictionary allValues]; 

得到字典的值。但我想在這種形式的陣列輸出:數組[0],陣列[1]而我正在輸出在控制檯如下: -

2013-01-12 18:44:10.213 Birthday_Reminder[2871:c07] (
{ 
}, 
"Arpit Sihare") 

等的值。 所以plz幫助我在這個表單中獲得這些值,並且我使用KABPersonfirstname屬性從地址簿中檢索這些名稱。

ABAddressBookRef addressBook = ABAddressBookCreate(); 
    NSArray *thePeople = (NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook); 
    NSMutableArray* allPeoplesDicts = [NSMutableArray array]; 
    for (id person in thePeople) 
    { 
     ABMultiValueRef phone =(NSString*)ABRecordCopyValue(person, kABPersonPhoneProperty); 
     NSString* name = (NSString *)ABRecordCopyCompositeName(person); 
     // NSMutableArray* phones = [[NSMutableArray alloc] init]; 
     NSDictionary *phones=[[NSDictionary alloc]init ]; 
     for (CFIndex i = 0; i < ABMultiValueGetCount(phones); i++) 
     { 
      NSString *phone = [(NSString *)ABMultiValueCopyValueAtIndex(phones,i) autorelease]; 
      [phones addObject:phone]; 
     } 
     NSDictionary* personDict = [[NSDictionary alloc] initWithObjectsAndKeys:name,@"Name",phones,@"PhoneNumbers",nil]; 
     [phones release]; 


     NSArray * yourKeys; 
     yourKeys = [personDict allValues]; 


     NSLog(@"%@",yourKeys); 
     [allPeoplesDicts addObject:personDict]; 
     [personDict release]; 
    } 

,我想姓名以陣列形式,當我使用的NSLog(@「%@」,陣列[0])它應該打印值存儲在陣列的第一位置,並很快狀陣列[1] ...

+0

請詳細解釋您的問題。 – ATOzTOA

+1

請用新代碼編輯您的問題,而不是發表評論 - 它會使格式更漂亮。 – lxt

+0

和我想firstname以數組形式,當我使用nslog(@「%@」,數組[0])它應該打印存儲在數組第一的值,並很快像數組[1] .... –

回答

0

這很難理解你想說什麼。我試過,發現...

如果你只是想存儲所有的firstName(這是你的鑰匙我認爲),那麼只是讓yourKeysNSMutableArray並添加names到該陣列。 :

[yourKeys addObject:names]; 

簡單!!