私は比較的新しいSwiftプログラマーで、Firebaseを初めて使用していますので、専門用語の知識Firebaseデータベースからデータを取得するとき、「Snap(...)<null>」
データベース(電子メールとユーザー名)に格納されているユーザーに関するデータを取得しようとしています。
コードは、データベース内のユーザーIDを正常に検出します。ユーザIDは、ユーザ名と電子メールを含むディレクトリにナビゲートするために使用されます。これらの値はsnapshot
に格納されます。
何らかの理由でsnapshot
が表示された場合は、userIDが表示されますが、ディレクトリの内容(ユーザ名とパスワード)は<null>
と表示されます。私は、アクセスしようとしているディレクトリからデータを取得しようとしているディレクトリが空ではないことを確信しています(usernameとemailが入っています)。私はsnapshot
にユーザー名と電子メールを保存したいが、印刷はそれが正しく行われていないことを示し、理由を理解できない。ここ
私のコードブロックである:ここで Snap (ywU56lTAUhRpl3csQGI8W8WmQRf1) <null>
は、私が到達しようとしていたデータベースのエントリです:
func checkIfUserIsLoggedIn() {
if Auth.auth().currentUser?.uid == nil {
perform(#selector(handleLogout), with: nil, afterDelay: 0)
} else {
let uid = Auth.auth().currentUser?.uid;
Database.database().reference().child("Users").child(uid!).observeSingleEvent(of: .value, with: { (snapshot) in
print(snapshot)
if let dictionary = snapshot.value as?[String:AnyObject] {
self.userLabel.text = dictionary["name"] as? String
}
}, withCancel: nil)
}
}
、ここでは、コンソールに出力されているものですログにsnapshot
: I'm a new Stack Overflow user and don't have enough experience on the site to be allowed to embed images in posts, so this is the external link
お読みいただきありがとうございました。
firebaseでは、コードに「ユーザ」を使用している間は小文字のユーザがあります。多分それは事実です。 – rv7284