ios - 使用 Objective-C 在 iOS 的 NSMutableDictionary 中添加值

标签 ios objective-c nsmutabledictionary

我正在开始 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() 或 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]
}

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

关于ios - 使用 Objective-C 在 iOS 的 NSMutableDictionary 中添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6519957/

相关文章:

ios - 找不到支持键盘 type 4 的键盘 iPhone-PortraitChoco-NumberPad

ios - 自定义委托(delegate) null

ios - 未调用 NSMutableDictionary 的 Swizzled 方法

iphone - 在 iPhone 应用程序中,如何将照片发布到 Facebook 粉丝页面。在它之前如何喜欢它?使用 facebook-ios-sdk

ios - 使用 [NSData writeToFile :] 后从设备中删除文件

iPhone以编程方式裁剪方形图像以显示为圆形

ios - 在 MMDrawerController 之上放置一个 View

ios - 以编程方式获取 IOS 设备的 UDID?

objective-c - 当返回值是不可变对象(immutable对象)时返回可变对象是不好的做法吗?

objective-c - react 性 NSMutableDictionary?