我正在开始objective-c开发,我想问一下实现键和值列表的最佳方法。

在Delphi中有TDictionary类,我这样使用它:

myDictionary : TDictionary<string, Integer>;

bool found = myDictionary.TryGetValue(myWord, currentValue);
if (found)
{
    myDictionary.AddOrSetValue(myWord, currentValue+1);
}
else
{
    myDictionary.Add(myWord,1);
}

我该如何在objective-c中做到这一点?是否有与上述AddOrSetValue() or TryGetValue()等效的功能?

谢谢你。

最佳答案

您想按照以下方式实现您的示例:

编辑:

//NSMutableDictionary myDictionary = [[NSMutableDictionary alloc] init];
NSMutableDictionary *myDictionary = [[NSMutableDictionary alloc] init];

NSNumber *value = [myDictionary objectForKey:myWord];

if (value)
{
    NSNumber *nextValue = [NSNumber numberWithInt:[value intValue] + 1];
    [myDictionary setObject:nextValue  forKey:myWord];
}
else
{
    [myDictionary setObject:[NSNumber numberWithInt:1] forKey:myWord]
}

(注意:您不能将int或其他基元直接存储在NSMutableDictionary中,因此需要将它们包装在NSNumber对象中,并确保在完成字典后调用[myDictionary release])。

10-08 14:59