私は3つのtextFields
を持っています。ユーザが情報を入力すると、その情報はFirebase
に送られます。すべてのテキストフィールドをファイアベースに更新しない
func buttonMethod() {
if let uid = FIRAuth.auth()?.currentUser?.uid{
if let City = City.text{
if let Major = Major.text{
if let College = College.text{
let saveObject: Dictionary<String, Any> = [
"uid": uid,
"City" : City,
"Major" : Major,
"College" : College
]
}
}
}
}
FIRDatabase.database().reference().child("info").child(self.loggedInUser!.uid).setValue(saveObject)
これらを使用して、ユーザーは情報を編集できます。また、情報は別のView Controllerのラベルに表示されます。
func loadInfo(){
if (FIRAuth.auth()?.currentUser) != nil{
FIRDatabase.database().reference().child("info").child(self.loggedInUser!.uid).observeSingleEvent(of: .value, with: { (snapshot:FIRDataSnapshot) in
if let postsDictionary = snapshot .value as? [String: AnyObject] {
for post in postsDictionary {
//self.posts.add(post.value)
let city = postsDictionary["City"] as! String
let major = postsDictionary["Major"] as! String
let college = postsDictionary["College"] as! String
self.City.text = city
self.Major.text = major
self.College.text = college
}
}})}
}
私の問題は、ユーザーが情報を編集するときtextField
が編集されていなかった場合、それは空の文字列でFirebase
で非編集したtextField
の値を置き換えることです。
if City.tex t== "" {
}
if Major.text=="" {
}
if College.text==""{
}
しかし、私はどこそこから行くのか分からない。私はそれは、ユーザーがtextField
が、その後Firebase
の値が滞在する必要が編集していない場合same.Iはこれで始まったということにしたいです。
firebaseからのこの値は、 'textField'の値を表示しています –
残念です、別のビューコントローラのラベルに値を表示しています@NiravD – juelizabeth
次に、' textField'テキストをfirebaseデータに設定しないのはなぜですか? –