我需要在运行时动态地使用 NSMutableDictionary ...
因此,一旦实现,字典将包含每个模式/键的计数/值以及与该模式匹配的实际字符串。
我需要有关创建字典和动态添加数组以及递增计数/值的正确语法的帮助,并且我想附加/插入字符串,但我认为我擅长的那部分。
我需要在运行时动态地使用 NSMutableDictionary ...
因此,一旦实现,字典将包含每个模式/键的计数/值以及与该模式匹配的实际字符串。
我需要有关创建字典和动态添加数组以及递增计数/值的正确语法的帮助,并且我想附加/插入字符串,但我认为我擅长的那部分。
我需要有关创建字典和动态添加数组以及递增计数/值的正确语法的帮助,
数组是对象,将它们添加到字典中的方式与将任何其他对象添加到字典中的方式相同:
[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_count*,为每个模式创建两个条目。不过,没有必要这样做……为每个模式存储的数组可以很容易地告诉你它包含多少个对象:
NSArray *wordList = [dictionary objectForKey:pattern];
int count = [wordlist count];