在 iOS 开发中,在视图控制器之间传递数据似乎过于复杂。以下是我所意识到的:使用 -(void)prepareForSegue 方法可以轻松地向前传递数据(推送视图)或直接向视图传递数据。使用 presentingViewCotnroller 和 presendedViewController 属性,数据可以轻松地在视图控制器之间来回移动。这是从第二个视图控制器返回到第一个视图控制器的数据示例。这是我正在谈论的示例代码:
((FirstViewController *)self.presentingViewController).firstViewControllerProperty = self.secondViewControllerProperty;
但是,当我尝试通过多个视图控制器传递数据时,我被卡住了。似乎每个人都说使用委托并从 MVC 的角度思考。当我尝试这样做时,我被卡住了。原因如下:如果 viewControllerA 告诉模型保存一些数据,然后 viewControllerD 需要这些数据,我最终会让 viewControllerD 引用模型的一个实例。(我这样做 b/c 我不知道如何从视图控制器访问模型)我假设当我创建模型的实例时,这意味着我有一个没有我试图访问的数据的新模型.
然后我意识到也许我应该将我的模型设置为单例。我假设单例是当您设置一个由所有其他视图控制器引用的类时,它们不必创建模型类的实例。我对单身人士的了解越多,我就越觉得自己偏离了轨道。我尝试将所有这些东西放在一起,但它变得过于复杂。
我在这里错过了什么吗?我应该能够在不创建新实例的情况下从各种视图控制器中引用我的模型吗?我对 iOS 编程相对较新,我正在寻找能指出我正确方向的人。我应该把精力放在学习授权上吗?或学习单身人士?或学习目标行动?是否有简单的教程/书籍推荐来学习在视图控制器之间传输数据?