В этом будущем, возможно, также полезно упомянуть NS_ENUM
. Вы бы использовали это как:
typedef NS_ENUM(uint16_t, TYEnummedType)
{
TYEnummedType1,
TYEnummedType2
};
Это имеет почти такой же эффект, как нормальные enum
и typedef
, но явно диктует целочисленный тип, который действительно полезен, если вы когда-нибудь захотите упаковать эти вещи куда-то, будьте точны в вашем struct
выравнивании среди других целей.
Он был добавлен в iOS SDK с версией 6 и OS X с 10.8, но это всего лишь макрос C и не добавляет ничего, что вы не могли бы сделать с vanilla typedef
и enum
, поэтому нет обратной. совместимость беспокоиться. Он существует только в явном виде, чтобы связать две вещи вместе.