2011-12-07 17 views
0

NSMutableDictionaryの1つだけを出力するのはその両方ではありません。 NSMutableDictionary(JSONRepresentation)を使用してJSONリクエストを作成したいと思います。NSMutableDictionaryは期待された出力を得ていません。

// My code  

NSArray *keysEndpoint = [NSArray arrayWithObjects:@"ID", @"Name", @"EndpointType", nil]; 
NSArray *objectEndpoint = [NSArray arrayWithObjects:@"622", @"Brand", @"0", nil]; 

NSArray *keysEndpoint1 = [NSArray arrayWithObjects:@"ID", @"Name", @"EndpointType", nil]; 
NSArray *objectEndpoint1 = [NSArray arrayWithObjects:@"595", @"CK-05052011", @"1", nil]; 

NSMutableArray *keys1 = [[NSMutableArray alloc] initWithCapacity:0]; 
NSMutableArray *objects1 = [[NSMutableArray alloc] initWithCapacity:0]; 

[keys1 addObjectsFromArray:keysEndpoint]; 
[keys1 addObjectsFromArray:keysEndpoint1]; 

NSLog(@"Key Dic: %@", keys1); 

[objects1 addObjectsFromArray:objectEndpoint]; 
[objects1 addObjectsFromArray:objectEndpoint1]; 

NSLog(@"Obje Dic: %@", objects1); 

NSMutableDictionary *testMut = [NSMutableDictionary dictionaryWithObjects:objects1 forKeys:keys1]; 

NSLog(@"Test Dic: %@", testMut); 

出力を取得していますさはこれです:私が欲しい

Test Dic: { 
    EndpointType = 1; 
    ID = 595; 
    Name = "CK-05052011"; 
} 

Expexted出力は次のとおりです。辞書の場合

Test Dic: { 
    EndpointType = 1; 
    ID = 595; 
    Name = "CK-05052011"; 
} 
{ 
    EndpointType = 0; 
    ID = 622; 
    Name = "Brand"; 
} 

答えて

1

、二度同じキーを追加すると、キーの最初のセットを上書きします。あなたは

NSArray *keysEndpoint = [NSArray arrayWithObjects:@"ID", @"Name", @"EndpointType", nil]; 
NSArray *objectEndpoint = [NSArray arrayWithObjects:@"622", @"Brand", @"0", nil]; 

NSArray *keysEndpoint1 = [NSArray arrayWithObjects:@"ID", @"Name", @"EndpointType", nil]; 
NSArray *objectEndpoint1 = [NSArray arrayWithObjects:@"595", @"CK-05052011", @"1", nil]; 

NSMutableDictionary *testMut = [NSMutableDictionary dictionaryWithObjects:objectsEndpoint forKeys:keysEndpoint]; 


NSMutableDictionary *testMut1 = [NSMutableDictionary dictionaryWithObjects:objectsEndpoint1 forKeys:keysEndpoint1]; 

NSMutableArray * dictArray = [NSMutableArray arrayWithObjects:testMut,testMut1,nil]; 

NSLog(@"Test DictArray: %@", dictArray); 
+0

ありがとうNSMutableDictionaryのNSMutableArrayのを持っている必要があり、これは火格子を動作しますが、問題は、私は、キーポイントとオブジェクトのエンドポイントのための20以上の配列を持っています。私は20 NSMutableDictionaryを作成することはできません。プログラムでそれを行う方法はありますか? – AAV

+0

@AmitVyawahareキーポイントとオブジェクトのエンドポイントデータはどこから取得していますか?このデータを動的に入力することは間違いありません。データをjsonオブジェクトに変換するには、SO上のSBJsonまたはJSONKitの例を参照できます。 –

関連する問題