iOS - スイッチ内の複数のキーで NSMutableDictionary を埋める方法

ユーザー7219266

理解できない状況で悩んでいます。

ここに私のコードがあります:

for (CDDetailDpt* detailDpt in [((CDGlobalInfo*)object).details allObjects]) {
    NSMutableArray *array = [NSMutableArray array];
    [array addObject:detailDpt.numDept];

    NSLog(@"Department Number = %@", detailDpt.numDept);
    NSLog(@"Color Number = %@", detailDpt.color);

    switch ([detailDpt.color intValue]) {
        case 2:
            [_deptDict setValue:array forKey:detailDpt.color];
            break;
        case 3:
             [_deptDict setValue:array forKey:detailDpt.color];
            break;
        case 4:
            [_deptDict setValue:array forKey:detailDpt.color];
            break;
        default:
             [_deptDict setValue:array forKey:detailDpt.color];
            break;
    }
}

for (id key in _deptDict)
    NSLog(@"dept Dict = %@", [_deptDict objectForKey:key]);

説明しましょう:

CoreData オブジェクトをスローしてループしています。より正確には、国の各部門の情報のリストがあります。この詳細オブジェクトには、departmentNumber、departmentName、および colorNumber (地図上に表示するために 1 から 4 まで) があります。

各部門でループし、色の値 (1 から 4 まで) に従って、キーが色番号である関連部門で NSDictionary を埋めたいと思います。

例えば ​​:

My Dictionary には、キーごとに n 個の部門番号 @"1" (色番号 = 1) などが含まれます。

ログには 1 つの値しか表示されません。私は辞書に記入していないことを記入します。

setValue、setObject で試しました.私が間違っていることがわかりません..

編集:

値を一時的に保存してオーバーライドしないように、for ループに配列を追加しました。

私のスイッチは役に立たないと感じています。特定の色の部門に応じた部門番号の配列を Dictionary の正しいキーに追加するにはどうすればよいですか?

さらに、ログを追加して、実際にいくつかの値があることを確認できるようにします。

ログ:

Department Number = 14
Color Number = 2
Department Number = 41
Color Number = 2
Department Number = 59
Color Number = 2
Department Number = 89
Color Number = 3
Department Number = 79
Color Number = 3
Department Number = 27
Color Number = 3
Department Number = 36
Color Number = 3
Joshua Kaden

現在のコードは、ソース内の各要素の配列を初期化するため、各要素に 1 つの要素のみが含まれるようになります。

それはあなたの場合に動作しaddObject:、配列が既に辞書に存在する場合は、アレイへ。

お気に入り:

NSMutableDictionary *deptDict = [[NSMutableDictionary alloc] init];

for (DetailDpt *detailDpt in self.detailDpts) {
    NSString *key = detailDpt.color.stringValue;
    if ([deptDict valueForKey:key]) {
        [(NSMutableArray *)[deptDict valueForKey:key] addObject:detailDpt.numDept];
    } else {
        [deptDict setValue:[NSMutableArray arrayWithObject:detailDpt.numDept] forKey:key];
    }
}

NSLog(@"deptDict = %@", deptDict);

...戻り値:

deptDict = {
   2 =     (
      14,
      41,
      89
   );
   3 =     (
       79,
       27,
       36
   );
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

iOS:NSMutableDictionaryにnull値を設定できません

分類Dev

NSMutableDictionaryをループする

分類Dev

迅速なiOSでNSMutableDictionaryにアイテムを追加できません

分類Dev

NSMutableDictionaries の NSMutableDictionary を並べ替える方法

分類Dev

NSMutableArray内のNSMutableDictionaryのインデックスを見つける

分類Dev

NSMutableDictionaryチェックの高速化方法

分類Dev

Swift2.0でNSMutableDictionaryを作成する方法

分類Dev

google ios Analyticsの強制で、タイプ 'NSMutableDictionary'の値をタイプ '[NSObject:AnyObject]'に変換できません

分類Dev

NSMutableDictionaryでキーの最大長を見つける方法は?

分類Dev

iOS:NSMutableDictionaryをNSMutableArrayの特定のインデックスにすばやく追加するにはどうすればよいですか?

分類Dev

NSUserDefaultsに複数のNSMutableDictionaryを保存する方法

分類Dev

文字列の配列から空の文字列を%20で埋める方法ios

分類Dev

nsmutabledictionaryを持つUserDefaultは、タイプ '__NSSingleEntryDictionaryI'の値をNSMutableDictionaryにキャストできませんでした

分類Dev

JSONをNSMutableDictionaryの問題に解析する

分類Dev

iOS-クラッシュを引き起こすNSMutableDictionaryにオブジェクトを追加する

分類Dev

iOS-クラッシュを引き起こすNSMutableDictionaryにオブジェクトを追加する

分類Dev

iOSでNSMutableArrayを削除すると、NSMutableDictionaryがオブジェクトを削除しますか?

分類Dev

NSMutableDictionaryの問題

分類Dev

NSMutableDictionary VSNSMutableArrayの速度

分類Dev

2つのNSMutableDictionaryを同じキーで組み合わせる

分類Dev

Swift 3でNSMutableArrayのキーを使用してNSMutableDictionaryを削除する方法

分類Dev

NSMutableDictionaryで1つの値を変更する方法

分類Dev

NSMutableDictionaryのcanサブクラスをオーバーライドする方法

分類Dev

NSMutableDictionaryでデータを表示する方法は?

分類Dev

NSDictionary / NSMutableDictionaryのキーと値として配列を追加する

分類Dev

NSMutableDictionaryにキー/値を追加する際の問題

分類Dev

NSMutableDictionaryをあるviewControllerから別のViewControllerに渡す方法は?

分類Dev

ObjectiveC-NSMutableDictionary内にNSMutableArrayを格納する方法

分類Dev

ObjectiveC-NSMutableDictionary内にNSMutableArrayを格納する方法

Related 関連記事

  1. 1

    iOS:NSMutableDictionaryにnull値を設定できません

  2. 2

    NSMutableDictionaryをループする

  3. 3

    迅速なiOSでNSMutableDictionaryにアイテムを追加できません

  4. 4

    NSMutableDictionaries の NSMutableDictionary を並べ替える方法

  5. 5

    NSMutableArray内のNSMutableDictionaryのインデックスを見つける

  6. 6

    NSMutableDictionaryチェックの高速化方法

  7. 7

    Swift2.0でNSMutableDictionaryを作成する方法

  8. 8

    google ios Analyticsの強制で、タイプ 'NSMutableDictionary'の値をタイプ '[NSObject:AnyObject]'に変換できません

  9. 9

    NSMutableDictionaryでキーの最大長を見つける方法は?

  10. 10

    iOS:NSMutableDictionaryをNSMutableArrayの特定のインデックスにすばやく追加するにはどうすればよいですか?

  11. 11

    NSUserDefaultsに複数のNSMutableDictionaryを保存する方法

  12. 12

    文字列の配列から空の文字列を%20で埋める方法ios

  13. 13

    nsmutabledictionaryを持つUserDefaultは、タイプ '__NSSingleEntryDictionaryI'の値をNSMutableDictionaryにキャストできませんでした

  14. 14

    JSONをNSMutableDictionaryの問題に解析する

  15. 15

    iOS-クラッシュを引き起こすNSMutableDictionaryにオブジェクトを追加する

  16. 16

    iOS-クラッシュを引き起こすNSMutableDictionaryにオブジェクトを追加する

  17. 17

    iOSでNSMutableArrayを削除すると、NSMutableDictionaryがオブジェクトを削除しますか?

  18. 18

    NSMutableDictionaryの問題

  19. 19

    NSMutableDictionary VSNSMutableArrayの速度

  20. 20

    2つのNSMutableDictionaryを同じキーで組み合わせる

  21. 21

    Swift 3でNSMutableArrayのキーを使用してNSMutableDictionaryを削除する方法

  22. 22

    NSMutableDictionaryで1つの値を変更する方法

  23. 23

    NSMutableDictionaryのcanサブクラスをオーバーライドする方法

  24. 24

    NSMutableDictionaryでデータを表示する方法は?

  25. 25

    NSDictionary / NSMutableDictionaryのキーと値として配列を追加する

  26. 26

    NSMutableDictionaryにキー/値を追加する際の問題

  27. 27

    NSMutableDictionaryをあるviewControllerから別のViewControllerに渡す方法は?

  28. 28

    ObjectiveC-NSMutableDictionary内にNSMutableArrayを格納する方法

  29. 29

    ObjectiveC-NSMutableDictionary内にNSMutableArrayを格納する方法

ホットタグ

アーカイブ