How do I save values from the child view controllers of a UIPageViewController to use elsewhere in an app?
我有一个
这取决于您希望数据如何持久。如果您希望数据保持用户的生命,即使从设备中删除了该应用程序,您显然也需要将其存储在远离客户端的地方,例如存储在数据库中(例如Realm,CoreData)。如果您希望数据保持应用程序本身的生命力,并继续使用这些数据来塑造用户的体验,则可以使用
我怀疑,无论出于何种原因,第三种选择都是您的选择。如果是这样,我建议创建一个模型对象作为父视图控制器的实例属性(所有页面视图控制器都可以引用)...
1 2 3 4 5 6 7 8 | class SurveyAnswers { var userName: String? var userAge: Int? var favoriteSauce: PizzaSauce? var livesWithCats: Bool? } |
...并仅使用协议/委托模式将数据从子级传递到父级,这将更新该对象中的属性(只要它们正在更新该对象的同一实例)。然后,当您准备好准备
如果还可以,则可以使用共享的
一般经验法则:在目标对象中设置属性以向前传递数据,并使用委托向后传递数据。