Ho classi personalizzate in IBDesignable
in swift che fanno alcune cose che causano arresti anomali in Interface Builder. C'è una bandiera che posso controllare per vedere se sto funzionando nel generatore di interfacce o no? Idealmente sarebbe una direttiva precompilatore (#ifdef COMPILED_FOR_INTERFACE_BUILDER
o qualcosa del genere). Ho pensato che forse avrei potuto impostare io stesso una bandiera in prepareForInterfaceBuilder()
ma ciò sembra disordinato e non sembra funzionare in modo affidabile poiché sembra che le proprietà di classe siano impostate prima che venga chiamata quella funzione e questo può attivare il codice che causa problemi. Sembra che ci debba essere un modo migliore. Grazie!Controllare se il codice è in esecuzione in Interface Builder
12
A
risposta
11
È possibile utilizzare il preprocessore macro TARGET_INTERFACE_BUILDER per specificare il codice per l'inclusione con o esclusione dalla classe di visualizzazione personalizzata "
+0
Grazie! Questo era esattamente quello che stavo cercando e per qualche motivo nessuna quantità di googling ha restituito quella macro. Molto utile! –
Non so il motivo per cui la questione è stata bocciata. Penso che sia una grande domanda. (Naturalmente non ho una risposta utile ...) – matt
Sono d'accordo.Questa sarebbe una caratteristica molto utile. (Votato) –