Как передать константу в 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]};