У меня есть пользовательские классы IBDesignable
в swift, которые делают некоторые вещи, которые вызывают сбои в Interface Builder. Есть ли флаг, который я могу проверить, чтобы проверить, работает ли я в построителе интерфейса или нет? В идеале это была бы директива прекомпилятора (#ifdef COMPILED_FOR_INTERFACE_BUILDER
или что-то в этом роде). Я подумал, что, возможно, я мог бы установить флаг в prepareForInterfaceBuilder()
, но это кажется беспорядочным и, похоже, не работает надежно, поскольку он выглядит, как свойства класса устанавливаются перед вызовом этой функции, и это может вызвать код, который вызывает проблемы. Похоже, что должен быть лучший способ.
Спасибо!
Проверка, работает ли код в интерфейсе Builder
Ответ 1
Вы можете использовать макрос препроцессора TARGET_INTERFACE_BUILDER, чтобы указать код для включения или исключения из вашего пользовательского класса вида.