NSCoder и пользовательские типы - PullRequest
7 голосов
/ 27 октября 2010

Как вы используете NSCoder для кодирования и декодирования пользовательских типов?

Например, как бы вы использовали NSCoder с экземпляром "STATE", где:

typedef enum { ON, OFF } STATE;

1 Ответ

13 голосов
/ 23 сентября 2011

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

- (void) encodeWithCoder: (NSCoder *)coder {
  ...
  [coder encodeInt:type forKey:@"state"];
}

- (id) initWithCoder: (NSCoder *)coder {
  ...
  state = [coder decodeIntForKey:@"state"];
}
...