0

每次一个单词与另一个单词的模式匹配时,我都需要将字符串附加到字典中保存的数组中。下面的第二行 (setObject) 覆盖而不是附加。
最终结果应该是字典中的数组,其中键(模式)标识了许多符合该模式的字符串。

    NSMutableDictionary *eqClasses = [[NSMutableDictionary alloc] init];
    [eqClasses setObject:tempWordStr forKey:wordPattern];

有没有简单的追加方法?

4

2 回答 2

1

试试这个:

NSMutableArray* array = [eqClasses objectForKey:wordPattern];
if(!array) {
  // create new array and add to dictionary if wordPattern not found
  array = [NSMutableArray array];
  [eqClasses setObject:array forKey:wordPattern];
}
[array addObject:tempWordStr];
于 2012-04-18T15:50:01.460 回答
0

您指出字典中的值应该是数组,但在我看来 eqClasses 包含 NSStrings (tempWordStr)。您不需要创建一个 NSArray 来保存与关键字关联的 NSStrings,然后使数组成为字典中与关键字对应的值吗?如果字典已经包含键,则需要检索与键关联的数组,将新字符串添加到数组中,然后使用带有键的数组调用 setObject。

于 2012-04-18T15:50:48.323 回答