我的問題是有關在定義的方案中用於處理推送通知的最佳做法。 我的應用程序具有3個ViewControllers:登錄前處理推送通知信息
- 登錄:用戶認證開始使用該應用
- TableView中:與像外觀
- 的DetailView一個觸點A簡單的表視圖:含有從選擇的行的信息的簡單的viewController TableView
我收到一個遠程通知,其中包含有效負載中的一些信息(比如說一個電話號碼)。我需要在DetailView上使用該信息,但在接收時我沒有登錄(應用程序沒有運行),所以我按通知,它會打開我的應用程序(登錄),但我需要保持某處通知有效負載(或創建的對象它)並將其傳遞給DetailView。
所以問題是: 如果在用戶登錄之前收到通知,將通知中的數據傳遞給內部ViewController的最佳做法是什麼?
我唯一的解決現在的問題是:在didReceiveRemoteNotification
評價對象,把它放在AppDelegate中和訪問它每次用戶登錄到打開的DetailView如果對象是存在(並使用課程後清理),但我不認爲這是一個很好的。
有什麼建議嗎?
感謝您的迴應ahmed。是的,我對與全局對象有關的隔離和設計模式的想法是一樣的。我可以在保存某個對象的地方看到唯一的問題,那就是開發者必須記得在使用它之後清理它,這會讓我感到有點... –
是的,你是對的,我想推薦你做一個Util文件爲您的用戶默認值,負責保存,獲取和清除用戶默認的「如果它是您的選擇」。並且在你的getter方法中,如果它是最後一次你需要這個數據的話,那麼它會帶一個Bool標誌,如果這個標誌是真的,在你的方法中設置該標誌,在獲得它之後刪除數據,這樣你就不會忘掉它 :) – ahmedHegazi