1

我继承了一个使用约 100 个 Xcode 故事板场景的项目。由于以下原因,尝试添加到这个项目一直是一场噩梦:

  • 我的机器(2011 年末 Macbook Pro 13 英寸,非 SSD 驱动器 16GB,运行 10.8 + XCode 4.4)在情节提要上爬行停止。在某些情况下,我会移动一个场景,更新它的位置需要 10 秒。

  • 在某些情况下,当我修改场景(在两个场景之间创建转场等)时,所有场景都会消失。我必须在侧边栏上做一个“全选”才能让他们回来。

  • 浏览特定的故事板场景绝对令人沮丧。没有明显的方法可以按名称对故事板场景进行排序。

  • 场景侧边栏下方的过滤器功能可以让我找到我正在寻找的场景,但具有过滤掉我正在寻找的特定场景的属性(segues、视图等)的令人沮丧的副作用。因此,如果我需要为“Person View Controller”修改“add_new_guy”segue,并在过滤器中键入“Person”,我会得到 Person View Controller 没有 add_new_guy segue。如果我删除过滤器中的文本以使转场出现,我将被带回场景列表的顶部,并且(很可能)远离另一端的 Person View Controller。我最终手动向下滚动场景列表以查找我想要更改的特定场景。

我花了几个小时在谷歌上搜索解决方案,但没有出现任何有用的东西。关于如何改善情节提要情况或指向我愚蠢地忽略的 XCode 中的东西的任何建议?

免责声明:

a) 我很清楚转移到 nibs 可以解决问题,而且 100 个故事板场景很疯狂,但我已经继承了代码,预计至少明年我会做故事板。

b) 我知道可以将项目分成几个故事板。如果我有时间,我可能会研究一下。

c) 我听说同时打开两个故事板可能会导致一些问题,我已尽量避免这种情况。

d) 向 Apple 提交关于故事板的错误已经在我的待办事项清单上。

4

1 回答 1

2

首先,将你的故事板拆分成更小的故事板。我建议每个故事板最多使用 4-5 个视图控制器。一开始会很头疼,慢慢来吧。看一下RBStoryboardLink,它允许您“通过允许 UIStoryboards 之间的'伪segues'来连接它们。这些segues 可以在不离开Interface Builder 并且不编写任何额外代码的情况下构建”。这会给你:

  1. 在情节提要中为非常相似的视图控制器创建抽象超类的能力
  2. 更小、更易于管理的文件,不会让您的计算机停止运行
  3. 作为团队的一部分工作时合并冲突更少(假设您的项目处于版本控制之下)

其次,告诉你的老板立即为你购买一台新的、更好的开发计算机。他们将在几天内以更高效的开发时间收回 3 到 4,000 美元。(或者,如果这是合同工作......自己买一个新的。)

而且,请放纵我稍微偏离主题的评论。

关于此声明:

我预计至少在明年做故事板

工作期望总是可以协商的。你的老板可能认为“从故事板切换到代码所花费的时间比节省的时间要多”。如果这不是真的,请说出来。

于 2014-02-10T00:07:26.547 回答