我需要动态地,在运行时使用NSMutableDictionary执行以下操作...
因此,一旦实施,字典将包含每个模式/ 键的计数/ 值以及与该模式匹配的实际字符串。
我需要帮助创建字典的正确语法和动态添加数组,递增计数/值,我想追加/插入字符串,但那部分我认为我很好。
相关帖子:NSMutableArray or NSMutableDictionary : which is best for this scenario?
答案 0 :(得分:1)
我需要有关创建字典和添加的正确语法的帮助 动态数组,并递增计数/值,
数组是对象,您将它们添加到字典中的方式与将任何其他对象添加到字典的方式相同:
[someDictionary setObject:theArray forKey:theKey];
我不清楚你对“递增计数/值”的意思。字典知道它包含多少个键/值对 - 无需增加任何内容。数组也是如此。
所以听起来你的代码会像:
NSMutableDictionary *dict;
for (NSString *word in wordlist) {
@autorelease {
NSMutableArray *wordStrings = [NSMutableArray array];
while (/*some condition based on word*/) {
NSString *newString = [NSString stringWithFormat:...];
[wordStrings addObject:newString];
}
[dict setObject:wordStrings forKey:word];
}
}
我确定这不太对 - 我不知道你真正想要做什么,但上面的代码显示了你如何生成一些数组并将它们添加到字典中。其余的由你决定。
看看你的编辑,我想你可能会对字典中存储的内容感到有些困惑。字典只是一组键/值对。在这种情况下,值是您添加的数组,键是模式字符串。对于存储计数的每个密钥,没有额外“值”的空间。您可以使用 pattern 和* pattern_count *等键的约定为每个模式添加两个条目。没有必要这样做,但是...为每个模式存储的数组可以很容易地告诉你它包含多少个对象:
NSArray *wordList = [dictionary objectForKey:pattern];
int count = [wordlist count];