我正在使用“设置”应用来存储应用设置。我还用户默认存储内部应用程序设置(未在“设置”应用程序中公开)。例如,我使用用户默认值来存储最后一个标签栏索引,该索引未在“设置”应用程序中公开。
我正在订阅NSUserDefaultsDidChangeNotification,以便在我的应用处于后台时收听设置中的任何更改,并且工作正常。
问题在于,当我从我的应用程序中更新用户默认值(对于我的内部应用程序设置参数)时,这也会触发NSUserDefaultsDidChangeNotification,这是我不想要的。
答案 0 :(得分:0)
applicationDidMakeActive?你必须指applicationDidBecomeActive。
您可以考虑实现applicationDidEnterBackground和applicationWillEnterForeground,而不是applicationWillResignActive和applicationDidBecomeActive。
当应用程序开始和结束时,也会调用“活动”方法,这意味着一旦启动(您实际上没有收听此通知),您将停止收听通知,如果您实现applicationDidBecomeActive,您将开始收听一旦您的申请结束(无所事事),通知即可。