【问题标题】:SaveState in MvvmCross is not being called in an iOS application未在 iOS 应用程序中调用 MvvmCross 中的 SaveState
【发布时间】:2015-04-27 16:19:03
【问题描述】:

我正在使用 MvvmCross v3.5 构建一个 iOS 应用程序。每当应用程序进入后台时,我都希望在视图模型中调用 SaveState。

但是它永远不会被调用。我在模拟器和设备上都试过了。我是不是错过了什么。

这适用于应用程序的 Android 版本,所以我认为我已正确设置。

还有其他人遇到过这个问题吗?任何帮助将不胜感激。

【问题讨论】:

    标签: ios viewmodel mvvmcross lifecycle savestate


    【解决方案1】:

    我认为在 Xamarin 中你需要实现 UIApplicationDelegate.ShouldRestoreApplicationState 和 ShouldSaveApplicationState 才能返回 true。

    【讨论】:

    • 谢谢 Tapani 我明天早上试试
    • 嗨 Tapani,我试过了,但还是不行。我还有什么需要做的吗?
    • 我不知道如何在 Xamarin 中执行此操作,但是在开发本机时,您必须在 storyboard/xib 中为您希望恢复的那些视图控制器设置恢复 ID。实际的保存/恢复发生在 encodeRestorableStateWithCoder 和 decodeRestorableStateWithCoder 函数中。我不确定 MvvmCross 如何在内部处理这个问题。甚至不确定它是否有自己的保存/恢复机制而不是 iOS。本教程解释了它如何与 Objective-C 一起工作:An iOS 7 State Preservation ... Tutorial
    • 我还应该说我没有使用故事板或 .xib 文件,我正在以编程方式进行
    • 也可以在代码中设置恢复id:UIViewController.restorationIdentifier
    猜你喜欢
    • 1970-01-01
    • 2017-06-29
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    • 2019-10-23
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    相关资源
    最近更新 更多