在 Interface Builder 中检查代码是否为 运行
Checking if code is running in Interface Builder
我在 swift 中有自定义 IBDesignable
classes,它们会执行一些导致 Interface Builder 崩溃的操作。是否有一个标志我可以检查我是否在界面生成器中 运行 ?理想情况下,它将是预编译器指令(#ifdef COMPILED_FOR_INTERFACE_BUILDER
或类似的指令)。我想也许我可以在 prepareForInterfaceBuilder()
中自己设置一个标志,但这看起来很乱,而且似乎不能可靠地工作,因为它看起来 class 属性是在调用该函数之前设置的,这可能会触发导致的代码问题。似乎必须有更好的方法。
谢谢!
You can use the preprocessor macro TARGET_INTERFACE_BUILDER to specify code for inclusion with or exclusion from your custom view class."
我在 swift 中有自定义 IBDesignable
classes,它们会执行一些导致 Interface Builder 崩溃的操作。是否有一个标志我可以检查我是否在界面生成器中 运行 ?理想情况下,它将是预编译器指令(#ifdef COMPILED_FOR_INTERFACE_BUILDER
或类似的指令)。我想也许我可以在 prepareForInterfaceBuilder()
中自己设置一个标志,但这看起来很乱,而且似乎不能可靠地工作,因为它看起来 class 属性是在调用该函数之前设置的,这可能会触发导致的代码问题。似乎必须有更好的方法。
谢谢!
You can use the preprocessor macro TARGET_INTERFACE_BUILDER to specify code for inclusion with or exclusion from your custom view class."