1

アプリを作っています。ベンダー名とデバイス名を追加したい場所.ベンダー名がキーでデバイス名が値である辞書を使用しています..

これが私のコードです

[appDelegate.arrOfDevice addObject:txtDeviceName.text];
[appDelegate.dictOfDetails setObject:appDelegate.arrOfDevice  forKey:txtVendorName.text ]; 

これは、追加されたすべてのデバイスをarrOfDevice含む配列 (で宣言されているappdelegate) です。特定のキーに基づいてデバイスを追加したいのですが...

私は知っている、私は何か間違ったことをしている、

配列をディクショナリの値としてプッシュしているので、各キーのすべてのデバイス名が保存されます..しかし、助けてください...特定のキーに基づいてデバイス名を保存できるように...

あなたが理解できない場合は、私の質問を明確にしてください...

4

2 に答える 2

1

初めてキーを追加する場合は、以下に示すようにこれを行う必要があります

if(flag==1) {
            NSMutableArray *tmpArr=[[NSMutableArray alloc]init];
            [tmpArr addObject:txtDeviceName.text];
            [appDelegate.dictOfDetails setObject:tmpArr forKey:[txtVendorName.text uppercaseString]];
}

キーが存在する場合は、配列の参照を作成し、オブジェクトを辞書に追加するだけです

      else if(flag==0) {
            NSMutableArray *arrDevice=[appDelegate.dictOfDetails objectForKey:[txtVendorName.text uppercaseString]];
            [arrDevice addObject:txtDeviceName.text] ;
}
于 2012-05-04T10:33:01.923 に答える
0
NSDictionary *dic = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"Nit",[NSNumber numberWithInt:3],nil]
                                              forKeys:[NSArray arrayWithObjects:@"Name",@"num",nil]];

>>編集済み

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:
    @"value1", @"key1", @"value2", @"key2", nil];

+dictionaryWithObjects:forKeys: のようにも見えます。

うまくいけば、これはあなたを助けるでしょう...

于 2012-04-27T07:06:38.817 に答える