-2

私はこのコードを使用しています

NSDictionary *yourDictionary;

NSArray * yourKeys;
yourKeys = [yourDictionary allValues];

辞書の値を取得します。しかし、次のようにコンソールで出力を取得している間、次の形式で配列出力が必要です:配列[0]、配列[1]:-

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

値など。そのため、このフォームでこれらの値を取得するのを手伝ってください。また、KABPersonfirstnameproperty を使用してアドレス帳からそれらの名前を取得しています。

  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(@"%@",array[0]) を使用すると、配列の最初の場所に格納された値を出力し、すぐに array[1]....

4

1 に答える 1

0

あなたが何を言おうとしているのか理解するのは難しすぎる。試してみました...

firstNameすべて(私が思うにあなたの鍵です)を保存したいだけならyourKeys、を作成してその配列にNSMutableArray追加してください。names

[yourKeys addObject:names];

単純 !!

于 2013-01-12T13:47:56.380 に答える