10

私はこの列挙型を持っています:

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
}

この種の列挙型をデコードおよびエンコードするためにどのコーダーメソッドを使用しますか?

4

1 に答える 1

5

一般的に言えば、enumsの表現はさまざまです。Objective-Cを使用する場合はNS_ENUMマクロを使用して、列挙型を表すためにどのタイプが使用されているかを確認する必要があります。この記事にはさらに多くの背景があります。

于 2013-01-31T09:55:08.363 に答える