如何在 Firebase 的数据库中反映 select UISegmentedControl 的结果
How to reflect select result of UISegmentedControl in Firebase'S Database
您好,我是编程 (Swift/Firebase) 和开发应用程序方面的新手。现在正在尝试使用户配置文件连接到数据库。我可以对 TextFields 数据执行此操作,但不能对 Male/Female 开关的 UISegmentedControl 执行相同操作。
@IBAction func saveProfileButton(_ sender: Any) {
if nameTextField.text! == "" {
print("enter something")
} else {
addUser()
}
}
@objc func valuChange() {
switch genderSegControl.selectedSegmentIndex {
case 0:
let zero = String("Male")
case 1:
let one = String("Female")
default:
return
}
}
func addUser() {
let genderChanged = genderSegControl?.addTarget(self, action: #selector(MainViewController.valuChange), for: UIControlEvents.valueChanged)
let userGender = String(describing: genderChanged!)
let uidUser = Auth.auth().currentUser?.uid
let user = ["...": ..., "userGender": userGender as! String]
refUsers.child(uidUser!).setValue(user)
}
但是当我检查 Firebase 的数据库节点时,它仅显示 "userGender: Optional(())"
。我尝试了许多不同的方式,但无法将其显示为 "userGender: Male"
或 "userGender: Female"
.
如有任何建议,我们将不胜感激。
- 在您的
ViewController
中为 UISegementControl
创建出口,比如 genderControl
。
在addUser()
函数中,使用UISegementControl
的selectedIndex
来确定值如下,假设index 0
是针对MALE
& 1
用于 FEMALE
那么:
let gender = genderControl.selectedIndex == 0 ? "Male" : "Female"
现在在用户字典中设置这个值gender
,即
let user = ["...": ..., "userGender": gender]
您好,我是编程 (Swift/Firebase) 和开发应用程序方面的新手。现在正在尝试使用户配置文件连接到数据库。我可以对 TextFields 数据执行此操作,但不能对 Male/Female 开关的 UISegmentedControl 执行相同操作。
@IBAction func saveProfileButton(_ sender: Any) {
if nameTextField.text! == "" {
print("enter something")
} else {
addUser()
}
}
@objc func valuChange() {
switch genderSegControl.selectedSegmentIndex {
case 0:
let zero = String("Male")
case 1:
let one = String("Female")
default:
return
}
}
func addUser() {
let genderChanged = genderSegControl?.addTarget(self, action: #selector(MainViewController.valuChange), for: UIControlEvents.valueChanged)
let userGender = String(describing: genderChanged!)
let uidUser = Auth.auth().currentUser?.uid
let user = ["...": ..., "userGender": userGender as! String]
refUsers.child(uidUser!).setValue(user)
}
但是当我检查 Firebase 的数据库节点时,它仅显示 "userGender: Optional(())"
。我尝试了许多不同的方式,但无法将其显示为 "userGender: Male"
或 "userGender: Female"
.
如有任何建议,我们将不胜感激。
- 在您的
ViewController
中为UISegementControl
创建出口,比如genderControl
。 在
addUser()
函数中,使用UISegementControl
的selectedIndex
来确定值如下,假设index 0
是针对MALE
&1
用于FEMALE
那么:let gender = genderControl.selectedIndex == 0 ? "Male" : "Female"
现在在用户字典中设置这个值
gender
,即let user = ["...": ..., "userGender": gender]