我正在使用設置應用程序來存儲應用程序設置。我也userdefaults存儲內部應用程序設置(這是不公開的設置應用程序)。例如,我使用用戶默認值來存儲設置應用中未公開的最後一個標籤欄索引。NSUserDefaultsDidChangeNotification和多任務處理問題
我正在訂閱NSUserDefaultsDidChangeNotification來偵聽設置中的任何更改,而我的應用程序在後臺並且工作正常。
問題是,當我更新我的應用程序內的用戶默認值(對於我的內部應用程序設置參數),這也觸發NSUserDefaultsDidChangeNotification,我不想。
- 是否可以在設置應用程序中而不是從應用程序中聽到設置中的更改?
- 僅當應用程序處於後臺時纔可以收聽通知嗎?我試圖僅在applicationWillResignActive中訂閱通知(就在進入後臺之前)(並且對於註冊而言工作正常),但是一旦應用程序再次處於活動狀態,我就找不到註銷的方法(applicationDidMakeActive似乎不是正確的回調後通知被傳遞)。
- 或者還有其他一些簡單的方法來實現這一目標嗎?