检查代码是否在Interface Builder中运行

时间:2015-06-10 00:15:46

标签: ios interface-builder ibdesignable

我在swift中有自定义IBDesignable类,它们会在Interface Builder中执行一些导致崩溃的事情。是否有一个标志我可以检查我是否在界面生成器中运行?理想情况下,它将是一个预编译器指令(#ifdef COMPILED_FOR_INTERFACE_BUILDER或类似的东西)。我想也许我可以在prepareForInterfaceBuilder()中自己设置一个标志,但这看起来很乱,并且看起来不可靠,因为它看起来在调用该函数之前设置了类属性,这可能会触发导致问题的代码。似乎必须有更好的方法。 谢谢!

1 个答案:

答案 0 :(得分:20)

来自https://developer.apple.com/library/ios/recipes/xcode_help-IB_objects_media/Chapters/CreatingaLiveViewofaCustomObject.html

  

您可以使用预处理器宏TARGET_INTERFACE_BUILDER指定包含在自定义视图类中或从其中排除的代码。"