小编KUN*_*UNG的帖子

使用Swift从Firebase读取单个值

因为这个问题,我一直在死.

让我先向您展示我的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的值)而不是电话价值.

有人可以帮我吗?

database ios firebase swift firebase-realtime-database

1
推荐指数
1
解决办法
1572
查看次数

Swift超出范围....使用tableView [indexPath]

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)

uitableview ios swift indexpath

0
推荐指数
1
解决办法
1204
查看次数