Firebaseauthを使用して、iOSアプリのユーザーとデータを管理しています。ユーザーはログインでき、ユーザー情報はデータベースに正しく保存されます。しかし、次の文字列を使用して、ユーザーに別のviewControllerのデータベースに書き込みを試行させます。
self.ref.child("users").child(user.uid).setValue(["username": username])
スローされたエラーは
タイプuserにはメンバー.uidがありません
変数を作成していないので、それは当然のことです。しかし、それを宣言する方法がわかりませんか?
これは、ユーザーにuidを取得する方法です。
let userID = Auth.auth().currentUser!.uid
ユーザーがログインしていない場合、強制アンラップによってアプリが破損する可能性があるため、ガードを使用することをお勧めします。
guard let userID = Auth.auth().currentUser?.uid else { return }
FIRAuthは実際にはAuthに名前が変更されました。したがって、最新の変更に従って、それは
let userID = Auth.auth().currentUser!.uid
編集。
コメントで指摘されているように、強制アンラップはアプリをクラッシュさせる可能性があります。
guard let userID = Auth.auth().currentUser?.uid else { return }