【发布时间】:2017-12-02 07:25:24
【问题描述】:
我是一名 Android 开发人员,对 iOS 开发非常陌生,我想有一个非常基本的问题。
我读到现在最好的做法是为多个视图控制器使用多个故事板并以编程方式浏览它们,例如:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let viewController = storyboard.instantiateViewController(withIdentifier :"viewController") as! UIViewController
self.present(viewController, animated: true, completion: nil)
假设我有两个故事板。在第一个中,我只有一个 ViewController,而在第二个中,我有两个 ViewController。我使用第一个故事板及其 ViewController 启动应用程序。在点击一个按钮之后,我想使用上面的代码展示下一个带有第一个 ViewController 的故事板。下一个 ViewController 显示没有任何问题,但是第一个故事板 ViewController 发生了什么?它是否仍然存在于堆栈中或被终止或类似的东西?
我问这个是因为如果我打电话
dismiss(animated: true, completion: nil)
在第二个故事板的第一个 ViewController 中,ViewController 消失了,旧的又出现了。 此外,如果我想在第二个故事板的第一个 ViewController 中显示第二个故事板中的第二个 ViewController 时调用此方法,则第一个 ViewController 也会消失并显示第一个故事板中的 ViewController。
在 android 中,如果我想启动下一个屏幕/活动,我会这样做:
startActivity(new Intent(CurrentActivity.this, NextActivity.class));
finish(); //to drop the current activity
当我在 NextActivity 中并单击返回按钮时,整个应用程序将最小化。
我只是想确保不要在我的应用程序中构建大量 ViewController。
【问题讨论】:
标签: ios swift storyboard