2

連絡先の名にアクセスしてnsmutable配列に格納し、その配列の値をarray[0]最大のように取得array[i-1]してテーブルビューに出力できるようにするアプリを作成しています。コードは次のとおりです。

CFErrorRef error = NULL;

ABAddressBookRef addressBook = ABAddressBookCreateWithOptions(NULL, &error);

if (addressBook != nil)
{
    contacts_Image_List=[[NSMutableArray alloc]init];
    NSLog(@"Succesful.");

    NSArray *allContacts = (__bridge_transfer NSArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);




    NSUInteger i = 0;
    for (i = 0; i < [allContacts count]; i++)
    {
Person *person = [[Person alloc] init];



        ABRecordRef contactPerson = (__bridge ABRecordRef)allContacts[i];

        NSString *firstName = (__bridge_transfer NSString *)ABRecordCopyValue(contactPerson, kABPersonFirstNameProperty);
        NSString *lastName =  (__bridge_transfer NSString *)ABRecordCopyValue(contactPerson, kABPersonLastNameProperty);
        NSString *fullName = [NSString stringWithFormat:@"%@ %@", firstName, lastName];

        person.firstName = firstName;
        person.lastName = lastName;
        person.fullName = fullName;

       // person.userThumb[i]=firstName;

       //[person.userThumb[i] addObject:@"firstName"];

       //above line gives null

        NSLog(@"%@",person.userThumb[i]);

私の可変配列はPerson.hクラスにあります。

4

1 に答える 1

1

各反復で次のことを行います。

[person.yourMutableArray addObject:fullName]

MutableArrayがすでに割り当てられていることと、一度だけ割り当てることを確認してください。

于 2013-01-26T02:18:59.843 に答える