我需要在
- 键是枚举
- 值是
NSObject
的一些子类
NSDictionary
在这里不起作用(枚举不符合 NSCopying
)。
我也许可以在这里使用 CFDictionaryRef
,但我想知道是否有任何其他方法可以实现这一点。
最佳答案
由于枚举是整数,您可以将枚举包装在 NSNumber 中。当您向 map 添加/从 map 中检索某些内容时,您将枚举传递给 NSNumber 构造函数...
假设您有一个枚举,例如...
enum ETest {
FOO, BAR
};
您可以像这样在 NSDictionary 中使用它...
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject: @"Foo!" forKey:[NSNumber numberWithInt: FOO]];
NSLog(@"getting value for FOO -> %@",
[dict objectForKey: [NSNumber numberWithInt: FOO]]);
[dict release];
关于objective-c - cocoa :带枚举键的字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1187112/