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