5
私はlogin-logicを実装しています。ログイン後にCurrentUserを保存するベストプラクティス
ログイン後にCurrentUser
を保存して、後でアプリの使用中に個人データを使用するにはどうすればよいですか?
現時点では、インスタンスがUser
のシングルトンを使用しています。このような何か:
CurrentUser.swift
class CurrentUser {
static let i: CurrentUser = CurrentUser()
var cUser: User?
private init() {
}
func setCurrentUser(u: User) {
cUser = u
}
func getCurrentUser() -> User {
return cUser!
}
func clearUser() {
cUser = nil
}
func userIsLogged() -> Bool {
return cUser != nil
}
}
そして私はシングルトンをこのように使用しています:
LoginViewController.swift
class LoginViewController: UIViewController {
...
func createCurrentUser(authData: FAuthData) {
let u = User(uid: authData.uid, displayName: authData.providerData["displayName"] as! String, email: authData.providerData["email"] as! String)
u.wrapperFromFacebookData(authData.providerData)
ref.childByAppendingPath("users").childByAppendingPath(u.uid).setValue(u.toDict())
CurrentUser.i.setCurrentUser(u)
}
...
}
私はしないでくださいこれがベストプラクティスだと思います。 Firebaseの前に、Parseの組み込みユーザーロジックを扱うことになりましたが、それはかなり簡単でした。