我正在尝试从用户关闭应用时设置的Firebase数据库中删除数据。应用程序关闭时是否有一个方法被调用,以便我调用最后一个函数从数据库中删除数据?
由于
答案 0 :(得分:3)
使用双倍按下主页按钮关闭应用程序并向上滑动是不同的事情。它将调用以下方法
- (void)applicationWillTerminate:(UIApplication *)application {
}
按主页按钮,应用程序将在后台工作是不同的任务。也许你正在寻找
- (void)applicationDidEnterBackground:(UIApplication *)application{
}
应用程序:willFinishLaunchingWithOptions : - 此方法是您的应用在发布时首次执行代码的机会。
application:didFinishLaunchingWithOptions : - 此方法允许您在向用户显示应用之前执行任何最终初始化。
applicationDidBecomeActive : - 让您的应用知道它即将成为前台应用。使用此方法进行最后一分钟准备。
applicationWillResignActive : - 让您知道您的应用正在转变为前台应用。使用此方法可将您的应用置于静止状态。
applicationDidEnterBackground : - 让您知道您的应用现在正在后台运行,并且可能会随时暂停。
applicationWillEnterForeground : - 让您知道您的应用已移出背景并返回到前台,但它尚未激活。
applicationWillTerminate : - 让您知道您的应用已被终止。如果您的应用被暂停,则不会调用此方法。
希望它会对你有所帮助。
答案 1 :(得分:1)
使用此appdelegate
方法
- (void)applicationWillTerminate:(UIApplication *)application {
}
或者
删除每个应用程序启动中的数据,因为applicationWillTerminate
只能在限制条件下被召唤。
答案 2 :(得分:0)
//设置通知监听器
NotificationCenter.default.addObserver(self, selector: #selector(YourVC.appTerminated(notification:)), name:NSNotification.Name.UIApplicationWillTerminate, object: nil)
//做你想做的事情
func appTerminated(notification : NSNotification){
//do your thing
}
答案 3 :(得分:0)
Firebase支持一些与在线状态相关的功能。
如果要删除断开连接的节点。 ref.onDisconnectRemoveValue()
或者,如果要在节点上设置值:ref.onDisconnectSetValue(someValue)