【发布时间】:2017-04-17 15:29:21
【问题描述】:
所以我有一个应用程序,它完成后将在 Storyboard 中包含 100 多个视图控制器。我想创建多个故事板,以便在开发过程中更好地组织和减少延迟。我将拥有一个包含 6 个主要类别(视图控制器)的 main.storyboard,并将分支到其他视图控制器(无论是在同一个故事板中还是在另一个故事板中)。
我宁愿不在 main.storyboard 之外创建对我的 100 多个视图控制器中的每一个的引用。我使用导航器来移动我的视图控制器:
let vcName = identities[indexPath.row]
let viewController = storyboard?.instantiateViewController(withIdentifier: vcName)
self.navigationController?.pushViewController(viewController!, animated: true)
任何帮助将不胜感激。我会根据要求提供任何其他信息/说明或附加代码。
提前致谢。
【问题讨论】:
-
您能否提供更多有关应用程序性质的背景信息?需要这么多视图控制器是不寻常的。你确定不能让它们更通用以便可以重复使用吗?
-
正如@Jim 提到的,拥有这么多视图控制器看起来很不寻常。如果您确实需要它们,我建议将它们组织成多个故事板(基于您的类别)。实例化视图控制器时,您只需要额外的一行来指定情节提要。
let someXYZViewController = UIStoryboard(name: "CategoryXYZ", bundle: nil).instantiateViewController(withIdentifier: "someXYZViewController") as! SomeXYZViewController另外,看看storyboard references。 raywenderlich.com/115697/… -
它是一个教学应用。每一页都与下一页不同。字体、图像、所有间距等。我意识到可能还有其他方法可以做到这一点。但奇怪的是,这似乎是最省时、更直接的方法。
-
您是否正在为每个屏幕内容创建一个新的视图控制器?这不是构建内容繁重的应用程序的好方法。您应该提出内容的数据表示,然后为每种类型的内容创建一个视图控制器。
-
@Jim,我以前也想过,而且我很可能会考虑在未来这样做(例如应用程序的下一个版本)。目前我仍然缺乏经验,在应用程序开发方面相当新。感谢您的帮助。
标签: ios swift uiviewcontroller storyboard