Іншим вирішенням цього є зміна того, як властивість перерахування здається інтерфейсу конструктора. Наприклад:
#if TARGET_INTERFACE_BUILDER
@property (nonatomic, assign) IBInspectable NSInteger fontWeight;
#else
@property (nonatomic, assign) FontWeight fontWeight;
#endif
Це передбачає перерахування під назвою FontWeight. Він покладається на той факт, що перелічення та їх цілі цілі цілі значення можуть бути дещо взаємозамінні в Objective-C. Після цього ви зможете вказати ціле число у конструкторі інтерфейсів для властивості, яка не є ідеальною, але працює, і зберігає невелику кількість захисту типу при програмному використанні тієї ж властивості.
Це краща альтернатива, ніж оголошення окремої цілочисельної властивості, оскільки вам не потрібно писати додаткову логіку для обробки другої цілочисельної властивості, яка також може бути використана для виконання того самого.
Однак це не працює з Swift, оскільки ми не можемо неявно передати з цілого числа на перерахування. Будь-які думки щодо вирішення, які були б вдячні.