0

説明がわかりにくい: NSMutableDictionary を介して for ループを繰り返し、その「キー」値を調べ、それらを 2 番目の NSMutableDictionary の「キー」値と比較しようとしています。一致する場合 (文字列比較)、両方の辞書の「オブジェクト」を別の配列に追加する必要があります。

明確にするために、辞書 A と B の両方に、次のように、単語 (オブジェクト) とアルファベット順の単語 (キー) のリストが含まれています。

リンゴ = aelpp トマト = amoott スタック = ackst

したがって、「aelpp」と「amoott」を比較する必要がありますが、「apple」と「tomato」を保存します。

基本的な質問は次のとおりです: for ループ ( for (NSString *currentWord in dictionaryA)) を使用する場合、dictionaryA のオブジェクトまたはキーを具体的に参照するにはどうすればよいですか? キーを比較するために必要ですが、一致する場合はオブジェクトを保存します。

さらに説明が必要な場合は、お問い合わせください:)

4

2 に答える 2

0

「基本的な質問」に答えるには:列挙型の高速列挙NSDictionaryは辞書キーを列挙します:

for (NSString *keyA in dictionaryA) {
    NSString *valueA = [dictionaryA objectForKey:keyA];
    // Now keyA : valueA is one key-value pair of dictionaryA ...
}

(すべてのキーと値が文字列であると想定)。

于 2012-11-13T18:31:40.000 に答える
0

キーと値の間を一度に同時に反復したい場合は、これを使用します。

[dictionaryA enumerateKeysAndObjectsUsingBlock:^(NSString * keyA,
                                                   id valueA,
                                                   BOOL *stop) {
    // You have at the same time access to keyA and valueA
}];
于 2015-01-23T23:18:36.543 に答える