Как сохранить NSUInteger
с использованием протокола NSCoding
, учитывая, что в NSCoder
нет такого метода, как -encodeUnsignedInteger: (NSUInteger) anInt forKey: (NSString *) aKey
, как для NSInteger
?
Следующее работает, но это лучший способ сделать это? Это создает ненужные объекты.
@interface MYObject : NSObject <NSCoding> {
NSUInteger count;
}
- (void)encodeWithCoder:(NSCoder *)encoder {
[encoder encodeObject:[NSNumber numberWithUnsignedInteger:count] forKey:@"count"];
}
- (id)initWithCoder:(NSCoder *)decoder {
self = [super init];
if (self != nil) {
count = [[decoder decodeObjectForKey:@"count"] unsignedIntegerValue];
}
return self;
}