在多个视图控制器之间传递数据

时间:2015-02-16 15:25:08

标签: ios objective-c uiviewcontroller singleton uistoryboardsegue

我创建了7个视图控制器,每个视图控制器都有几个文本字段。 我需要从所有视图控制器收集数据并在最后一个中发出API请求。

传递这些数据的最佳模式是什么?

我正在考虑通过prepareForSegue方法传递一个自定义模型对象,但它对于维护来说太复杂了。

此外,我正在考虑使用singleton / NSUserDefaults,但它并不完美。

1 个答案:

答案 0 :(得分:1)

Singleton不是完美的方式,因为它会轻易搞砸你的记忆管理。与NSUserDefaults相同(+它只吃某些类并保留可能不应该保留的数据)。

只需将对象从视图控制器传递到视图控制器即可。

如果您发现7个视图控制器难以维护,那么您的用户可能会发现7个视图控制器也难以处理。

如果目标视图controntroller也是一种类型的BaseViewController,你也可以有一个公共的BaseViewController来传递prepareForSegue:中的一个对象。