我有这个枚举:
typedef types {
HBIntineraryTypeVisited = 0,
HBIntineraryTypeUnvisited,
HBIntineraryTypeUnknown,
HBIntineraryTypeDeleted,
} HBIntineraryType;
并希望使用nscoding协议将其与其他一些变量一起存储
- (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
}
我用什么编码器方法对这种枚举进行解码和编码?
答案 0 :(得分:4)
一般来说,enum
的表示形式可能会有所不同。使用Objective-C时,应使用the NS_ENUM
macro来确定用于表示枚举的类型。 this article中有更多背景信息。