2011-01-05 7 views
-1

にNSMutableArrayのを変換するとき、私はそれにNSArrayのにNSMutableArrayのを変換したい起こるコードエラーは、次のエラーを与える私はNSArrayの

ABAddressBookRef addressBook = ABAddressBookCreate(); 
CFArrayRef allPeople = ABAddressBookCopyArrayOfAllPeople(addressBook); 
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook); 

tempPeoples=[[NSMutableArray alloc]init]; 

for(int i=0;i<nPeople;i++){ 

    ABRecordRef i1=CFArrayGetValueAtIndex(allPeople, i); 
    [tempPeoples addObject:i1]; 

//[peoples addObject:i1]; 

}// end of the for loop 

// Peoples is NSArray 
// peoples=[[NSArray alloc] initWithArray: tempPeoples]; 

peoples=[NSArray arrayWithArray:tempPeoples]; 

ある

+0

同じコードですが、以前の質問よりも説明が少ない:[NSArrayをNSMutableArrayに変換する方法](http://stackoverflow.com/questions/4569478/how-to-convert-nsarray-to-nsmutablearray ) – Abizern

+0

私は解決策を得ていませんでした – Ali

+0

どのラインでエラーが発生したのか、正確に何がエラーなのか説明してください。また、@Abizemは正解です。あなたは既に同様の質問を投稿しており、その質問に対する回答は正しいです。 – Moszi

答えて

4

を助けてください、私は次のコード

ABAddressBookRef addressBook = ABAddressBookCreate(); 

NSArray *allPeople = (NSArray*)ABAddressBookCopyArrayOfAllPeople(addressBook); 
CFIndex nPeople = ABAddressBookGetPersonCount(addressBook); 

tempPeoples= [NSMutableArray arrayWithCapacity:0]; 

for(int i=0;i<nPeople;i++){ 

    ABRecordRef i1=CFArrayGetValueAtIndex(allPeople, i); 

    NSString* name = (NSString *)ABRecordCopyValue(i1,kABPersonFirstNameProperty); 

    [tempPeoples addObject:name]; 

// [peoples addObject:i1]; 

}// end of the for loop 

peoples=[NSArray arrayWithArray:tempPeoples]; 
を使用して解決策を見つけました
関連する問題