0

NSMutableDictionaryDictionary1 と Dictionary2の 2 つを作成します。最初の辞書には、キーを持つ配列オブジェクトを格納します。そして、2番目のディクショナリには、最初のディクショナリのオブジェクトを次のようなキーで保存します:

int page = 1;
[dictionary2 setObject:dictionary1 forKey:[NSString stringWithFormat:@"%d",page]];
[dictionary1 removeAllObjects];

しかし、オブジェクトの取得時に私はこのようにします

dictionary1 = [dictionary2 valueForKey:[NSString stringWithFormat:@"%d",page]];
NSLog(@"dictionary1 %@", dictionary1);`

次に、null 値を返します。私は自分がどんな間違いをしているのかわかりません。

4

3 に答える 3

4

に追加dictionary1するとdictionary2、すべてのオブジェクトが削除されます。

これはディクショナリ 2 にあるのと同じディクショナリ (コピーは作成されません) であるため、そこからもオブジェクトを削除します。

行を削除する必要があります[dictionary1 removeAllObjects];

次に、dictionary1この時点で作業が完了したので、それへの参照を削除するか、すぐに使用できる素敵な新しい光沢のある辞書に設定できます。

// Remove the reference
dictionary1 = nil;

// Or, create a new, empty dictionary
dictionary1 = [[NSDictionary alloc] init];
于 2012-05-31T15:18:01.563 に答える
0

これを試して

   dictionary1 = [dictionary2 objectForKey:[NSString stringWithFormat:@"%d",page]];
于 2012-05-31T15:17:21.477 に答える
0

dictionary1およびを正しく割り当て/初期化しましたdictionary2か? 辞書自体が ではないことを確認してくださいnil

于 2012-05-31T15:16:22.767 に答える