i have this enum:
typedef types {
HBIntineraryTypeVisited = 0,
HBIntineraryTypeUnvisited,
HBIntineraryTypeUnknown,
HBIntineraryTypeDeleted,
} HBIntineraryType;
and want to store it along with some other variables using the nscoding protocol
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super init];
if (self) {
_name = [aDecoder decodeObjectForKey:@"name"];
// todo decode enum object
}
}
- (void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeObject:_name forKey:@"name"];
// todo encode enum object
}
What coder method do i use to decode and encode this kind of enum?
Generally speaking the representation of enum
s can vary. When working with Objective-C, you should use the NS_ENUM
macro to be sure of which type is used to represent the enumeration. There's more background in this article.