Xamarin iOS方法可在应用导航至后台,关闭或导航至其他屏幕时覆盖以保存数据

时间:2019-07-01 09:20:54

标签: ios swift xcode xamarin xamarin.ios

我对移动应用程序开发和xamarin iOS非常陌生。我有一个具有一些UIImageViews的视图控制器,我正在用图像设置UIImageview。我想知道的是,什么时候可以挂起什么事件来保存图像

用户导航到其他视图控制器 应用进入后台 应用已关闭

我一直在研究xamarin的生命周期,并认为也许ViewDidUnload是一个很好的选择。有什么想法吗?

请原谅我的无知。

2 个答案:

答案 0 :(得分:2)

不推荐使用ViewDidUnload。

您应使用viewWillDisappear保存数据/图像。

每当您导航到其他控制器时,都会调用此方法。 但是,当您的应用进入后台或被杀死时,这将无法涵盖。

在您的应用进入后台状态后,将调用

UIApplication的applicationDidEnterBackground。并且applicationWillTerminate将在您的应用终止之前被调用。

您可以在视图中添加观察者以监视这些事件。

App观察者示例进入后台:

 NSObject notificationObserver = NSNotificationCenter.DefaultCenter.AddObserver (UIApplication.applicationDidEnterBackground, SaveData);

    private void SaveData(NSNotification a_notification)
    {
        // you can save image or any other data  
    }

您可以为applicationWillTerminate实现类似的功能。

答案 1 :(得分:1)

Darshana的答案是正确的。

我想添加观察事件的另一种方式:

UIApplication.Notifications.ObserveDidEnterBackground(HandleNotification);

public void HandleNotification(object sender, NSNotificationEventArgs e)
{

}