auf einen gültigen Wert gesetzt wird
Eine weitere Problemumgehung dafür besteht darin, zu ändern, wie eine Aufzählungseigenschaft für den Interface Builder angezeigt wird. Beispiel:
#if TARGET_INTERFACE_BUILDER
@property (nonatomic, assign) IBInspectable NSInteger fontWeight;
#else
@property (nonatomic, assign) FontWeight fontWeight;
#endif
Dies setzt eine Enum namens FontWeight voraus. Es beruht auf der Tatsache, dass Enums und ihre rohen Ganzzahlwerte in Objective-C etwas austauschbar verwendet werden können. Nachdem Sie dies getan haben, können Sie eine Ganzzahl im Interface-Builder für die Eigenschaft angeben, die nicht ideal ist, aber funktioniert und eine kleine Menge an Typsicherheit bei derselben Eigenschaft programmatisch beibehält.
Dies ist eine bessere Alternative als eine separate Integer-Eigenschaft zu deklarieren, da Sie keine zusätzliche Logik schreiben müssen, um eine zweite Integer-Eigenschaft zu behandeln, die auch dazu verwendet werden könnte, dasselbe zu erreichen.
Dies funktioniert jedoch nicht mit Swift, da wir nicht implizit von einer Ganzzahl auf eine Enumeration umwandeln können. Irgendwelche Gedanken zum Lösen würden geschätzt.
Umgehung des Problems der Sorten ein int im keyboard Feld gesetzt, ist eine prüfbare berechnete Eigenschaft setzen in vor dem Wert, den Sie festlegen möchten. Natürlich wird es immer noch nicht magisch als ein Popup-Menü mit aufgezählten Werten in Interface Builder erscheinen; aber zumindest können Sie einen inspizierbaren Wert definieren und damit eine Aufzählung festlegen. – matt
Auf der WWDC in diesem Jahr fragte ich einen Apple-Ingenieur im Developer Tools-Labor darüber. Er sagte, dass er zustimmen würde, dass es ein großartiges Feature wäre, aber derzeit ist es nicht möglich. Er schlug vor, ich sollte ein Radar bei https://bugreport.apple.com einreichen, was ich tat. Es wurde als Duplikat der Ausgabe 15505220 geschlossen, aber ich würde Menschen, die ähnliche Probleme stellen, wärmstens empfehlen. Diese Dinge werden oft angesprochen, wenn sich genug Leute beschweren. –
wie ist diese Frage unterscheidet sich von http://stackoverflow.com/questions/27432736/how-to-create-an-ibinspectable-of-type-enum – SwiftArchitect