我目前正在开发一个 iOS SDK,它应该为不同的任务提供一些 UIViewControllers,我正在努力寻找一个好的设计。
在我看来,有3种可能的设计:
- 让 SDK 的用户实例化一个配置 SDK UIViewController 的实例并让他/她展示它
- 提供一个类方法来显示负责呈现和关闭的 UIViewController
- 实现 Builder 模式来配置所需 UIViewController 的实例,然后让用户呈现 ViewController 或在 Builder 上调用 show
这些解决方案中的每一个都有一些缺点。使用解决方案 1,我不知道是否将使用导航控制器来显示控制器(或者导航栏是否可用),并且我需要实现一些自定义内容以添加通常可以在导航栏中找到的按钮等。
解决方案 2 的可配置性不是很高,需要用户传递一个父 UIViewController 来显示一个 UIViewController。
如果有人可以指出我的链接或就此事提供一些建议,那就太好了。谢谢!