Objective-C valueforKey

标签 objective-c nsdictionary

我正在使用 NSDictionary 来存储一组值,并且我正在尝试将它们分配给一个 double 值。但是我不确定该怎么做,valueforkey 返回一个 id,它是一个指针。我曾尝试使用“*”获取实际值,但这不起作用。

这是代码

tempBrain.operand = [variables valueForKey:[(NSString*)obj  stringByReplacingOccurencesOfString:VARIABLE_PREFIX  withString:@""]];

tempBrain.operand 是 double 变量的 setter 方法。变量是我的 NSDictionary。

最佳答案

假设存储的值是一个 NSNumber,您可以像这样使用 doubleValue:

tempBrain.operand = [[variables objectForKey:[(NSString*)obj  stringByReplacingOccurencesOfString:VARIABLE_PREFIX  withString:@""]] doubleValue];

另请注意,我已将 valueForKey 更改为 objectForKey,这是用于从 NSDictionary 获取对象的正确方法。

关于Objective-C valueforKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4532299/

相关文章:

iphone - 检查数组中的重复条目 - Xcode/Objective C

ios - 在使用类别拆分大类时,类别提示未声明的选择器

iphone - NSDictionary allKeys - 它总是返回相同的顺序吗?

ios - 维护 NSMutableDictionary 元素的顺序

objective-c - 对象有效时 NSDictionary writeToFile 失败,权限为 0k

objective-c - 在 Objective-C 中使用 C 宏进行 alloc-init

c++ - Stringstream 缓冲区在 Objective-C++ 中不会为空

objective-c - Objective C - init 和构造函数之间的区别?

objective-c - 获取 NSDictionary 键的 NSArray,按 Value 排序,然后按 Key 排序

objective-c - NSDictionary 中的键可以重复吗?