Solusi lain untuk ini adalah mengubah bagaimana properti enumerasi muncul ke pembuat antarmuka. Sebagai contoh:
#if TARGET_INTERFACE_BUILDER
@property (nonatomic, assign) IBInspectable NSInteger fontWeight;
#else
@property (nonatomic, assign) FontWeight fontWeight;
#endif
Ini mengasumsikan enum yang disebut FontWeight. Ini bergantung pada fakta bahwa enum dan nilai integer mentahnya dapat digunakan secara bergantian di Objective-C. Setelah melakukan ini, Anda dapat menentukan bilangan bulat dalam Pembuat antarmuka untuk properti yang tidak ideal, tetapi berfungsi, dan mempertahankan sejumlah kecil keamanan tipe saat menggunakan properti yang sama secara terprogram.
Ini adalah alternatif yang lebih baik daripada mendeklarasikan properti integer terpisah karena Anda tidak perlu menulis logika tambahan untuk menangani properti integer kedua yang juga dapat digunakan untuk mencapai hal yang sama.
Namun, ini tidak berfungsi dengan Swift karena kami tidak dapat secara implisit mentransmisikan dari integer ke enum. Pikiran apa pun tentang pemecahan yang akan dihargai.