我想维护一个用户在Swift IOS应用程序的登录记录。 我有一个登录视图控制器,在成功登录用户后,我发布通知。如何在swift中更改现有通知的用户信息?需要维护用户登录记录
let infodict = ["userLoggedIn": true]
NotificationCenter.default.post(name:
NSNotification.Name(rawValue:"NotificationuserLoggedIn"), object: nil, userInfo: infodict)
而且在我的主页视图控制器的viewDidLoad中,我加入观测者喜欢
NotificationCenter.default.addObserver(self, selector:
#selector(self.toggleLoginButtonText(_:)), name:
NSNotification.Name(rawValue:"NotificationUserLoggedIn"), object: nil)
观察员将调用函数“toggleLoginButtonText”。在此功能中,我正在切换登录按钮的文本。如果用户登录,则按钮文本应为“注销”,否则为“登录”。一切正常,直到现在。
问题:我希望每当用户按下按钮注销时,我都会更新同一通知的用户信息。然后我会调用“toggleLoginButtonText”函数,它会检查通知值。如果“userLoggedIn”的值(因为用户注销),我的功能将改变登录按钮的文本。
所以总结,我的问题是两倍。
- 如何更新我的通知的用户信息时,在用户登录和注销
这是处理用户登录记录的好办法,或者有比这更好的方式?
我还有一个想法。 “当用户注销时,在我的家庭控制器中发布另一个通知和观察者,并且当用户再次登录时,发布另一个通知,等等。”。但我似乎是一个重复的任务给我。
我查找了这些问题的答案。但是,如何使用我已经通过的通知传递数据只有答案。
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?
如何访问登录管理器。它是模块还是库? –