让人困惑解释:我正在尝试通过NSMutableDictionary迭代for循环,查看其“关键”值,并将它们与第二个NSMutableDictionary的“key”值进行比较。如果匹配(它们是字符串比较),我希望将两个字典的“对象”添加到单独的数组中。
为了澄清,字典A和B都包含单词(对象)列表和按字母顺序排列的单词(键),如下所示:
apple = aelpp 番茄= amoott stack = ackst
所以我需要将“aelpp”与“amoott”进行比较,然后存储“apple”和“tomato”。
基本问题是:使用for循环(for (NSString *currentWord in dictionaryA)
)时,如何具体引用dictionaryA的对象或键?我需要它来比较键,但是如果它们匹配则存储对象。
如果有任何需要澄清的话,请问:)
答案 0 :(得分:0)
回答“基本问题”:快速枚举NSDictionary
枚举词典键:
for (NSString *keyA in dictionaryA) {
NSString *valueA = [dictionaryA objectForKey:keyA];
// Now keyA : valueA is one key-value pair of dictionaryA ...
}
(假设所有键和值都是字符串)。
答案 1 :(得分:0)
如果您想同时在Key和Values之间同时进行迭代,请使用:
[dictionaryA enumerateKeysAndObjectsUsingBlock:^(NSString * keyA,
id valueA,
BOOL *stop) {
// You have at the same time access to keyA and valueA
}];