首页 文章

每次击键后,Xcode都会继续构建故事板

提问于
浏览
135

我的Xcode项目最近使用故事板进入一个非常奇怪的状态:Xcode不断构建整个项目,特别是每个按键后的故事板 . 我发现没有理由在我的项目中将所有有趣的文件(故事板和项目)区分开来并不是Xcode中的设置(也许我找不到它?)不用说这个"feature"使我的项目工作几乎不可能,因为当我键入新代码时,CPU不断占用重建故事板 . 有谁见过这个?

2 回答

  • 389

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

    我没有找到一个明确的解决方案如何禁用 IB_DESIGNABLE ,从而不断编译故事板和源文件 . 我希望Xcode标志暂时禁用它 . 我尝试用 #ifdef 宏包围 IB_DESIGNABLE ,但即使 #ifdef 评估为false,也会考虑它们 . 一个一个地评论 IB_DESIGNABLE 有所帮助,但它不是一个可行的解决方案,许多 IB_DESIGNABLE .

    Update

    我终于找到了一种避免这种烦人行为的快捷方法 . 在活动窗口中打开故事板后,从“编辑器”菜单中禁用“自动刷新视图” . 这将停止更新故事板编辑器中使用您的自定义代码的视图,从而显着加快您的开发速度 . 如果您需要再次进行即时编译以获得自定义代码的可视预览,请再次启用此选项(您似乎还必须重新打开故事板以使其再次运行) .

    enter image description here

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

    "Leave it off" approach

    交替关闭"Automatically Refresh Views"和 never turn it on .

    "Refresh all views" 做一个方便的按键,比如命令选项-shift-R

    enter image description here

    在您工作时,只需按时触摸command-option-shift-R,或根据需要 . 通常只需要在处理故事板时触摸command-option-shift-R .

  • 7

    我有这个问题,接受的答案对我不起作用 .

    我遇到的问题是我始终在XCode中的自己的选项卡中打开故事板,以便我可以快速访问它 .

    我可以修复它的唯一方法是关闭该选项卡或选择不同的文件(如普通代码文件),然后关闭并重新打开XCode . 此后,每次按键都不再重建 .

    但是请注意,如果您需要打开故事板进行更改,那么此问题有时会重新出现,我将不得不重复上述过程 .

    不能等到Apple修复此问题,因为它非常令人沮丧!

    (ノಠ益ಠ)ノ彡┻━┻

相关问题