W przewodniku Adopting Modern Objective-C Apple zaleca używanie makra NS_ENUM zamiast wyliczenia. Przeczytałem również wyjaśnienie z NSHipster o NS_ENUM i NS_OPTIONS.typedef NS_ENUM vs typedef enum
Może ja coś przeoczyłem, ale nie bardzo rozumiem, co jest różnica między dwiema następującymi fragmentów i ewentualne dlaczego NS_ENUM
zalecana droga (z wyjątkiem być może, dla wstecznej kompatybilności ze starszymi kompilatorów)
// typedef enum
typedef enum {
SizeWidth,
SizeHeight
}Size;
// typedef NS_ENUM
typedef NS_ENUM(NSInteger, Size) {
SizeWidth,
SizeHeight
};
Czy sprawdziłeś, co robi makro 'NS_ENUM'? – holex
Przeczytałem, że "Makro" NS_ENUM "pomaga zdefiniować nazwę i typ wyliczenia, w tym przypadku o nazwie UITableViewCellStyle typu NSInteger. Typem wyliczeń powinien być NSInteger." Jedyną różnicą, jaką widzę w tym zdaniu, jest typ –
Dlaczego nie sprawdzasz kodu źródłowego tego makra, aby uzyskać wskazówkę, to wszystko w Xcode jest dostępne za darmo i zajmuje jedno kliknięcie. – Andy