I'm trying to set up a dictionary of rules; the keys are strings, and I'd love to set up the values to be bitmaps.
I'm using NS_OPTION to declare items as such :
typedef NS_OPTIONS(NSInteger, PermittedDirection) {
  LeftDirection = 1 << 0,
  RightDirection = 1 << 1
};
typedef NS_OPTIONS(NSInteger, PermittedSize) {
  SmallSize = 1 << 0,
  MediumSize = 1 << 1,
  LargeSize = 1 << 2
};
I have my rules dictionary defined as such :
 @property (atomic, strong) NSMutableDictionary * rules;
later I instantiate it as such :
 self.rules = [[NSMutableDictionary alloc] init];
later I try to add the bitmask (as below) and get an error since an enum isn't a pointer to an object :
    PermittedSize size = SmallSize | LargeSize;
    [self.rules setObject:size forKey:ALLOWED_FISH_SIZE];
is there an easy way to wrap these somehow without losing the ability to use the bitmask later on when I retrieve the values?
                        
You can wrap it on an
NSNumberby using:Then, when you retrieve it, just unbox the value: