0

だから私はこのような3つのNSMutableDictionaryを持っています:

.hファイル

NSMutableDictionary *myContainer;
NSMutableDictionary *myD1;
NSMutableDictionary *myD2;

@property (nonatomic, retain) NSMutableDictionary *myContainer;
@property (nonatomic, retain) NSMutableDictionary *myD1;
@property (nonatomic, retain) NSMutableDictionary *myD2;

.mファイル

@synthesize myContainer;
@synthesize myD1;
@synthesize myD2;

( 初期化 )

self.myContainer = [[NSMutableDictionary alloc] init];
self.myD1        = [[NSMutableDictionary alloc] init];
self.myD2        = [[NSMutableDictionary alloc] init];

次に、辞書の値または位置をmyD1およびmyD2からmyContainerに追加します。

擬似:

[myD1 setValue:foo forKey:@"bar"];
[foo retain];

[myD2 setValue:hello forKey:@"world"];
[hello retain];

だから私の質問は、myD1および/またはmyD2に特定のキー/値をmyContainerに追加するにはどうすればよいですか?そして、それらからもキー/値を取得しますか?

以下は私が必要としているもののように見えますが、私は初心者であり、私が持っているフォーマットは異なります。

ここでPHPから来るのは、これをどのように構成するかです。

$myContainer   = array();
$myD1          = array();
$myd2          = array();

$myD1['bar']   = 'foo';
$myD2['world'] = 'hello';

$myContainer['common_index'] = array($myD1, $myD2);

// Alternative
//$myContainer['common_index'] = array(0 => $myD1, 1 => $myD2);

// Retrieving values from $myD1
echo "Value: ".$myContainer['common_index'][0]['bar']."\n";
echo "Value: ".$myContainer['common_index'][1]['world']."\n";

// Alternative
foreach($myContainer['common_index'] as $array) {
    foreach($array as $index => $value) {
        echo "Index: {$index} Value: {$value} \n";
    }
}

出力:

Value: foo
Value: hello
Index: bar Value: foo 
Index: world Value: hello 

関連している:

4

2 に答える 2

2

myD1 myD2ディクショナリを配列に追加し、以下のようにmyContainerディクショナリに設定します。

NSMutableArray *array = [NSMutableArray arrayWithObjects:myD1, myD2, nil];
[myContainer setObject:array forKey:@"common_index"];

そしてそれらを取得するために:

NSMutableDictionary *myD1Retrieved = [[myContainer objectForKey:@"common_index"] objectAtIndex:0];
NSMutableDictionary *myD2Retrieved = [[myContainer objectForKey:@"common_index"] objectAtIndex:1];
于 2012-07-12T04:54:08.673 に答える
1

myContainerにデータを追加するには:

[myContainer setValue:[mD1 valueForKey:@"bar"] forKey:@"bar"];
[myContainer setValue:[mD2 valueForKey:@"world"] forKey:@"world"];

myContainerから取得する場合:

Object *firstObject = [myContainer valueForKey:@"world"];
Object *secondObject = [myContainer valueForKey:@"bar"];

Objectワールドキーとバーキーの値のタイプを表します。

続ける..

于 2012-07-12T04:35:22.283 に答える