因为这个问题,我一直在死.
让我先向您展示我的Swift代码:
@IBOutlet weak var testLabel: UILabel!
@IBOutlet weak var phoneTextField: UITextField!
var dbRef : DatabaseReference!
dbRef = Database.database().reference()
if let text = phoneTextField.text, !text.isEmpty {
dbRef.child("user").observeSingleEvent(of: .childAdded) {
(snapshot) in
let phoneDB = snapshot.value as? String
self.testLabel.text = phoneDB
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的Firebase数据库:
project-2ac-33
-user
-name : "user1"
-phone : 1111
-password : 1234
Run Code Online (Sandbox Code Playgroud)
我想要做的是:如果我输入任何数字phoneTextField
然后testLabel显示我1111(Firebase中的真实电话价值).
但是当我运行这个项目时,testLabel显示我user1(Firebase的值)而不是电话价值.
有人可以帮我吗?
我range出错了......
发生错误cell.creditLabel.text = numOfDays[(indexPath as NSIndexPath).row] + "days".
如果我把tableView.reloadData()后cell.nameLabel.text = nameArray[(indexPath as NSIndexPath).row]
然后在模拟器中没有任何东西出现......
我该如何解决这个问题..?
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.nameArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell : MoneyTableViewCell = tableView.dequeueReusableCell(withIdentifier: "MoneyTableViewCell", for: indexPath) as! MoneyTableViewCell
cell.nameLabel.text = nameArray[(indexPath as NSIndexPath).row]
cell.creditLabel.text = numOfDays[(indexPath as NSIndexPath).row] + "days"
cell.levelLabel.text = creditArray[(indexPath as NSIndexPath).row]
cell.layoutIfNeeded()
return cell
}
Run Code Online (Sandbox Code Playgroud)