gpt4 book ai didi

swift4 创建用户信息名称、年龄并从火力基地获取数据

转载 作者:行者123 更新时间:2023-11-30 10:50:42 24 4
gpt4 key购买 nike

我已经创建了 firebase,登录和注册后一切顺利,我可以也存储图像,但无法取回存储在 firebase 中的图像,我想创建用户个人资料来存储用户的姓名和年龄,

登录成功,使用 Firebase 存储图像,并创建了实时数据库子项,例如图像用户名和年龄,但无法在我的应用程序中使用,创建用户配置文件时出现问题,以及从 Firebase 存储取回图像时出现问题。

import UIKit
import FirebaseAuth
import Firebase
import FirebaseStorage

class ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate {
var ref : DatabaseReference?

@IBOutlet weak var emailTextField: UITextField!
@IBOutlet weak var passwordTextField: UITextField!
@IBOutlet weak var myImage: UIImageView!
@IBOutlet weak var userName: UITextField!
@IBOutlet weak var ageTextField: UITextField!

override func viewDidLoad() {
super.viewDidLoad()
// get image from firebase
// imagesFolder.

// let imageBack = Database.database().reference().child("images").child("user")

// self.myImage.image = UIImage(data: data!)

// creating dataBase
ref = Database.database().reference()

if Auth.auth().currentUser != nil {
ref?.child("images").child("username").setValue(["name":"first", "age":28])
}

}
@IBAction func loginButtonPressed(_ sender: UIButton) {
}

// signUp Button pressed
@IBAction func signUpButtonPressed(_ sender: UIButton) {
Auth.auth() .createUser(withEmail: emailTextField!.text!, password: passwordTextField!.text!) {(user,error)
in
if user != nil
{
self.performSegue(withIdentifier: "goToHome", sender: self)
print("SignUp Sucessfull")
}
else {
print("unSucessfull")
// uiAlert
let alert = UIAlertController(title:"wrong Information", message: nil, preferredStyle: .alert)
let okButton = UIAlertAction(title: "ok", style: .default, handler: nil)
alert.addAction(okButton)
self.present(alert,animated: true,completion: nil)
print("login Failed")
}
guard let userName = self.userName.text,!userName.isEmpty else {
print("Email is Empty");return
}
guard let userAge = self.ageTextField.text,!userAge.isEmpty else {
print("Age is required"); return
}
}
// upload image data to firebase
let imagesFolder = Storage.storage().reference().child("images")
if let image = myImage.image {

if let imageData = image.jpegData(compressionQuality: 0.75) {
imagesFolder.child("\(NSUUID().uuidString).jpg").putData(imageData, metadata: nil,completion: { (metadata,error) in

if let error = error {
// alert notification
}
// putData(_:metadata:completion:)
})
}
}

我有疯狂的评论,请忽略它!

最佳答案

我自己找到了答案,供以后的程序员引用! //存储的用户信息

  let userID = Auth.auth().currentUser?.uid
let userData = ["userName": userName,
"userAge ": userAge] as [String? : Any]


let ref = Database.database().reference()
ref.child("users/\(userID ?? "")").setValue(userData)



}

现在要检索数据,请创建一个结构并将代码放入已加载的 View 中

 func fetchCurrentUserData() {   
guard let currentUid = Auth.auth().currentUser?.uid else { return }

let userRef = Database.database().reference().child("users").child(currentUid)

print("userRef: \(userRef)")

userRef.observeSingleEvent(of: .value) { (snapshot) in
guard let dictionary = snapshot.value as? Dictionary<String, AnyObject> else { return }
let uid = snapshot.key
let user = User(uid: uid, dictionary: dictionary)
self.user = user
print(snapshot.key)

}
}

关于swift4 创建用户信息名称、年龄并从火力基地获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54610935/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com