Une autre solution consiste à modifier l'apparence d'une propriété d'énumération au générateur d'interface. Par exemple:
#if TARGET_INTERFACE_BUILDER
@property (nonatomic, assign) IBInspectable NSInteger fontWeight;
#else
@property (nonatomic, assign) FontWeight fontWeight;
#endif
Cela suppose une énumération appelée FontWeight. Il repose sur le fait que les énumérations et leurs valeurs entières brutes peuvent être utilisées de manière interchangeable en Objective-C. Après cela, vous pouvez spécifier un entier dans le générateur d'interface pour la propriété qui n'est pas idéal, mais qui fonctionne et conserve une petite quantité de sécurité de type lors de l'utilisation de la même propriété par programme.
C'est une meilleure alternative que de déclarer une propriété entière distincte car vous n'avez pas besoin d'écrire une logique supplémentaire pour gérer une deuxième propriété entière qui pourrait également être utilisée pour accomplir la même chose.
Cependant, cela ne fonctionne pas avec Swift car nous ne pouvons pas convertir implicitement d'un entier en une énumération. Toute réflexion sur la solution serait appréciée.