ios - Xcode 在每次击键后继续构建 Storyboard

我使用 Storyboard的 Xcode 项目最近进入了一个非常奇怪的状态:Xcode 一直在构建整个项目,尤其是在每次按键之后的 Storyboard。我没有发现这种行为的原因,无论是在我的项目中区分所有有趣的文件( Storyboard和项目),还是 Xcode 中的设置(也许我只是找不到它?)不用说,这个“功能”使我的项目几乎不可能工作因为当我输入新代码时,CPU 一直在忙于重建 Storyboard 。有人看过吗?

最佳答案

这是由源头文件中的 IB_DESIGNABLE 定义引起的。可能只有当包含 IB_DESIGNABLE 的头文件包含(甚至是隐式)到您当前正在编辑的源文件时才会出现问题。

我没有找到明确的解决方案如何禁用 IB_DESIGNABLE 从而连续编译 Storyboard 和源文件。我希望有一个 Xcode 标志来暂时禁用它。我还尝试用 #ifdef 宏包围 IB_DESIGNABLE,但即使 #ifdef 评估为假,也会考虑它们。逐一注释掉 IB_DESIGNABLE 会有所帮助,但对于许多 IB_DESIGNABLE 来说,这不是一个可行的解决方案。

更新

我终于找到了避免这种烦人行为的快速方法。在事件窗口中打开 Storyboard,从编辑器菜单中禁用“自动刷新 View ”。这将停止更新 Storyboard编辑器中使用您的自定义代码的 View ,从而显着加快您的开发速度。当您再次需要即时编译以查看自定义代码的可视化预览时,请再次启用此选项(似乎您还必须重新打开 Storyboard 才能使其再次工作)。

您可能希望向命令添加键绑定(bind),例如 command-option-control-A,以轻松切换行为的开/关。要在 Xcode 中添加键绑定(bind),请触摸 command-comma 的首选项,选择 Key Bindings 选项卡,使用搜索栏查找命令,然后双击右侧区域以添加所需的击键。

“别管它”方法

或者关闭“自动刷新 View ”,并且永远不要打开它

“刷新所有 View ”制作一个方便的按键,例如 command-option-shift-R

在您工作时,只需不时或根据需要触摸 command-option-shift-R。通常只需要在处理 Storyboard 时触摸 command-option-shift-R。

https://stackoverflow.com/questions/28476030/

相关文章:

C++ 构建系统 - 使用什么?

java - 使用 gradle 的多项目测试依赖项

security - Docker 和保护密码

javascript - `npm build` 没有在 package.json 中构建 't r

ios - 如何在构建 IPA 时修复 Xcode 6.1 错误

c++ - 如何为 Visual Studio 2010 构建 Qt

iphone - 重新签署 IPA (iPhone)

java - Java 项目的构建和版本编号(ant、cvs、hudson)

xcode - Xcode 的构建文件夹在哪里?

visual-studio - 发生代码更改时,Visual Studio 2010 不会在运行前构