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

Mic*_*rdi 16 interface-builder ios ibdesignable

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

Ewa*_*lor 21

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

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

  • 哇,这将改变我应对IB崩溃的一生!谢谢x 1000! (2认同)