gpt4 book ai didi

objective-c - 应用程序将终止 : NSNotificationCenter vs Application Delegate

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:23:58 27 4
gpt4 key购买 nike

这只是一个理论问题。它源于我的应用程序中的一个实际问题,但我从应用程序中重新设计了这个问题。但问题仍然存在:

如果在我的应用程序委托(delegate)中,我在 applicationWillTerminate: 时将我的单例对象写入磁盘,但也在 时使用 NSNotificationCenter 调用 updateSingletonData UIApplicationWillTerminateNotification 在某些 View Controller 中,哪个会先发生?我的数据会被写入单例,然后单例被写入磁盘,然后应用程序终止吗?或者会发生相反的情况,单例被序列化,然后单例更新(更糟),或者如果序列化时间太长,应用程序会在一定时间后终止(更糟!) ?

我想这表明我对 Springboard 的核心内容缺乏了解...感谢任何可以在这里阐明一些问题的人。

最佳答案

这里有几点需要注意:

  1. 只有 Apple 知道这些事件发生的顺序,因为他们编写了相关代码。

  2. 您不应该关心这些事件发生的顺序。如果您关心,那么您的代码设计很糟糕。

实际上,您可以检查发生的顺序 - 针对您的特定设备、针对您的特定 iOS 版本等。

但实际上,您不应该关心它们发生的顺序。从它的声音来看,您应该在保存到 applicationWillTerminate: 之前启动 View Controller 以写入数据,或者让 View Controller 在写入数据后处理保存。

关于objective-c - 应用程序将终止 : NSNotificationCenter vs Application Delegate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9303661/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com