web-dev-qa-db-ja.com

Firebase:User.uidを取得する方法?

Firebaseauthを使用して、iOSアプリのユーザーとデータを管理しています。ユーザーはログインでき、ユーザー情報はデータベースに正しく保存されます。しかし、次の文字列を使用して、ユーザーに別のviewControllerのデータベースに書き込みを試行させます。

self.ref.child("users").child(user.uid).setValue(["username": username])

スローされたエラーは

タイプuserにはメンバー.uidがありません

変数を作成していないので、それは当然のことです。しかし、それを宣言する方法がわかりませんか?

10
Eccles

これは、ユーザーにuidを取得する方法です。

let userID = Auth.auth().currentUser!.uid
25

ユーザーがログインしていない場合、強制アンラップによってアプリが破損する可能性があるため、ガードを使用することをお勧めします。

guard let userID = Auth.auth().currentUser?.uid else { return }
6
Victor

FIRAuthは実際にはAuthに名前が変更されました。したがって、最新の変更に従って、それは

let userID = Auth.auth().currentUser!.uid

編集。

コメントで指摘されているように、強制アンラップはアプリをクラッシュさせる可能性があります。

guard let userID = Auth.auth().currentUser?.uid else { return }
0
The Doctor