私は迅速なIOSアプリケーションでユーザのログイン記録を維持しようとしています。 私は、ユーザーに正常にログインした後に通知を掲示しているログインビューコントローラーを持っています。既存の通知のuserinfoを迅速に変更するにはどうすればよいですか?ユーザがログインしたレコードを維持する必要があります
let infodict = ["userLoggedIn": true]
NotificationCenter.default.post(name:
NSNotification.Name(rawValue:"NotificationuserLoggedIn"), object: nil, userInfo: infodict)
そして、私のホームビューコントローラののviewDidLoadで、私は観察者が「toggleLoginButtonText」関数を呼び出します
NotificationCenter.default.addObserver(self, selector:
#selector(self.toggleLoginButtonText(_:)), name:
NSNotification.Name(rawValue:"NotificationUserLoggedIn"), object: nil)
のようにそれにオブザーバを追加しています。そしてこの機能では、私はログインボタンのテキストをトグルしています。ユーザーがボタンにログインしている場合、テキストは「ログアウト」し、そうでなければ「ログイン」する必要があります。今まではすべてがうまくいきます。
問題:ユーザーがボタンを押してログアウトするたびに、私は同じ通知のユーザー情報を更新します。私の家のコントローラの私のviewwillappearの機能は、私は "toggleLoginButtonText"関数を呼び出し、通知値をチェックします。 "userLoggedIn"(ユーザーがログアウトしたため)の値であれば、私の関数はログインボタンのテキストを変更します。
私の質問は2倍です。
ユーザーがログインする私の通知のuserinfoをを更新する方法を- と
をログアウトこれはレコードでログインしているユーザーを処理する良い方法です、またはこのよりも良い方法があるのですか?
私はもう1つ考えています。ユーザーがログアウトしたときに、別の通知を投稿し、それを私のホームコントローラーで観察し、ユーザーが再びログインしたときに、別の通知を送信するなど」。しかし、私は私には繰り返しのようです。
これらの質問に対する回答を探しました。しかし、私が既に渡した通知を使ってデータを渡す方法についての答えだけがあります。
How to pass data using NotificationCentre in swift 3.0 and NSNotificationCenter in swift 2.0?
How to pass data using NotificationCentre in swift 3.0 and NSNotificationCenter in swift 2.0?
ログインマネージャへのアクセス方法。それはモジュールかライブラリですか? –