私のアプリケーションでは、NSDictionaryのオブジェクトを保持するNSArrayを持っています。 各辞書には、 "YES"または "NO"(ブール値)を格納するNSNumber型の値を保持する1つの "Primary"があります。配列内の辞書オブジェクトだけが値 "YES"を持つことができます。 ループを使用しない「プライマリ」キーがYESの辞書オブジェクトを取得するにはどうすればよいですか?iPhone - 辞書の配列を繰り返してオブジェクトを取得する
1
A
答えて
1
NSArray
で便利なメソッドを呼び出してオブジェクトを見つけることはできますが、そのようなメソッドではループを内部的に使用してオブジェクトを見つけることに注意してください。
NSUInteger indexOfPrimary = [array indexOfObjectPassingTest:^(id obj, NSUInteger idx, BOOL *stop) {
return [[obj objectForKey:@"Primary"] boolValue];
}];
NSDictionary *primary = nil;
if (indexOfPrimary != NSNotFound) {
primary = [array objectAtIndex:indexOfPrimary];
}
もう1つのオプションは-[NSArray filteredArrayUsingPredicate:]
です。
0
「ループを使用しない」とはどういう意味ですか?意味はforループを書いていないか、あるいはあなたが使っているルーチンがループを使わないという意味ですか? 「線形時間」ではなく「一定時間」に答えを出すには、レコードへのポインタを保持するだけです。あなたは配列に要素の挿入/削除を所有していない場合は、いや、そこ線形時間ルックアップ以外に方法はないのいずれかのループを自分でやって、またはNSArrayのの
- (NSIndexSet *)indexesOfObjectsPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate
関連する問題
- 1. ループ内の配列に辞書を追加しようとすると繰り返し値を取得する
- 2. jsonオブジェクト/辞書を繰り返し処理する
- 3. C#:辞書を繰り返して各コンテンツを取得できますか?
- 4. 辞書の辞書を1行繰り返します
- 5. 辞書と文字列のリストを繰り返します。
- 6. Python辞書のキーの繰り返し
- 7. 配列を繰り返す
- 8. Bash:配列を繰り返して各インデックスの値を取得する
- 9. オブジェクトの配列に対してJqueryを繰り返す
- 10. Python:各繰り返し値の辞書インデックスを返します
- 11. グラフクラスを辞書を使って繰り返します
- 12. Javaでオブジェクトの配列を繰り返し処理する
- 13. javascriptオブジェクトの配列を繰り返し処理する
- 14. スウィフト2の配列として辞書から値を取得
- 15. 辞書の値を繰り返しながら変更する
- 16. djangoのテンプレートで辞書を繰り返し処理する
- 17. ng-repeatを使用してオブジェクトの配列を繰り返し処理する
- 18. Angular2:配列のみを取得するように繰り返します。
- 19. nltk辞書を繰り返してください
- 20. 配列から繰り返し整数のリストを取得するには?
- 21. バイナリツリーの繰り返し文字列の数を取得する
- 22. xcode iPhoneの配列と辞書[noob]
- 23. C配列を繰り返します。
- 24. 配列内の辞書値のベクトルを取得する、Python
- 25. ルビー配列から繰り返し要素を取得するには?
- 26. 繰り返しテーブルの列の値を取得しますか?
- 27. 辞書をオブジェクトとして持つNSDictionary、オブジェクトを取得
- 28. SQLalchemyクエリで辞書の配列を取得する
- 29. 値の辞書からキーを取得する配列
- 30. Javascriptで辞書の配列からデータを取得する
を使用すると、あなたは私を説明できますあなたが書いたコードについて少しは? (私はiPhoneのコーディングに新しいんだよ) – Satyam
正確にあなたが何をしているのか分からないのであれば教えてください。 –
私はiPhoneの開発者です。しかし、私は "(^)(id obj、NSUInteger idx、BOOL * stop)"のようなコードに遭遇したことはありません。私はこの部分を理解していませんでした。 – Satyam