Мне было интересно, в чем смысл разных стилей объявления enum на cocoa?
Вот так:
enum { constants.. }; typedef NSUInteger sometype;
Является ли причина использования typedef для получения привязок к NSUInteger для работы без кастинга?
Иногда typedef является либо NSInteger/NSUInteger, почему бы не использовать NSInteger всегда? Есть ли реальная польза от NSUInteger?
Тэги Enum по-прежнему используются иногда, например здесь в _NSByteOrder.
Этот ответ был очень полезен: Что такое перечисление typedef в Objective-C?.