驯服Xcode故事板

时间:2012-09-01 21:40:42

标签: xcode xcode4 uistoryboard

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

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

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

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

  • 场景侧栏下的过滤器功能让我找到了我正在寻找的场景,但是有过滤掉特定场景的属性(segues,views等)的令人沮丧的副作用。我正在寻找。因此,如果我需要修改“Person View Controller”的“add_new_guy”segue,并在过滤器中输入“Person”,我会得到Person View Controller没有的add_new_guy segue。如果我删除过滤器中的文本以显示segue,我将回到场景列表的顶部并且(很可能)远离其另一端的Person View Controller。我最终在场景列表中一直向下滚动,寻找我想要更改的特定场景。

我花了几个小时搜索解决方案并没有出现任何有用的东西。关于如何改进故事板情况或指向XCode中的事情的任何建议我都被愚蠢地忽略了?

免责声明:

a)我很清楚,移动到笔尖会解决问题,并且100个故事板场景是疯狂的,但我继承了代码,我预计至少会在明年做故事板。

b)我知道可以将项目分成几个故事板。如果我有时间,我可能会考虑这个。

c)我听说一次打开两个故事板可能会导致一些问题,我尽量避免这样做。

d)向Apple提供关于故事板的错误已经在我的待办事项列表中。

1 个答案:

答案 0 :(得分:2)

首先,将故事板分成更小的故事板。我建议每个故事板最多4-5个视图控制器。一开始这将是一个巨大的头痛,随着时间的推移只是努力。看一下RBStoryboardLink,它允许你通过在UIStoryboards之间允许'伪段'来连接它们。这些段可以在不离开Interface Builder的情况下构建,而无需编写任何额外的代码“。这会给你:

  1. 能够在故事板中为非常相似的视图控制器制作抽象超类
  2. 更小,更易管理的文件,不会让您的计算机停止
  3. 作为团队的一员工作时,合并冲突较少(假设您的项目受版本控制)
  4. 其次,告诉你的老板立即为你购买一台新的,更好的开发计算机。他们将在几天内以更高效的开发时间回收3至4美元。 (或者,如果这是合同工作......自己买一个新的。)

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

    关于这句话:

      

    我预计至少会在明年制作故事板

    工作期望总是可以谈判的。你的老板可能会认为“从故事板切换到代码将花费更多的时间而不是节省。”如果不是这样,请说出来。