Как передать константу в NSDictionary

Мне интересно, есть ли способ передать константу типа 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]};

Я понимаю, что enum не является типом ObjectiveC...:(

2 ответа

Решение

enum обычно держит NSInteger (иногда NSUInteger) NSNumber также может быть достаточно хорошим в этом случае, например:

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

Enum значения являются числами, так что вы можете использовать NSNumber хранить их в словаре:

NSDictionary *myDic = @{@"style":@[NSNumber numberWithInt:UITableViewStylePlain]};
Другие вопросы по тегам