如何在NSDictionary中传递一个常量

时间:2014-07-20 07:27:45

标签: ios objective-c nsdictionary nsvalue

我想知道是否有办法将类似UITableViewStylePlain的常量传递给NSDictionary。

我正在使用NSValue传递值类型,如下所示:

CGRect myRec = CGRectMake(0,0,320,568);
NSDictionary *myDic = @{@"val":[NSValue valueWithCGRect:myRec]};
CGRect yourRec = [[myDic valueForKey:@"val"] CGRectValue];

我的问题是如何为UITableViewStylePlain之类的常量执行此操作?像这样:

NSDictionary *myDic = @{@"style":[NSValue value:UITableViewStylePlain withObjCType:enum]};

我意识到枚举不是ObjectiveC类型...... :(

2 个答案:

答案 0 :(得分:3)

enum通常包含NSInteger(有时为NSUInteger),因此在这种情况下,NSNumber也足够好,例如:

NSDictionary * myDic = @{ @"style" : @(UITableViewStylePlain) };

答案 1 :(得分:2)

枚举值是数字,因此您可以使用NSNumber将它们存储在字典中:

NSDictionary *myDic = @{@"style":@[NSNumber numberWithInt:UITableViewStylePlain]};