ios - Swift:如何从选定的单元格中获取数据?
问题描述
我有一个包含用户列表的表格视图。我想显示从 firebase 到 UIALertController 的客人详细信息。当我单击单元格时,它会从第一个单元格中为我提供第一个用户的详细信息。这是我的代码:
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let cell = tableView.cellForRow(at: indexPath)as! userTableViewCell
if cell.isClicked == true {
ref = Database.database().reference().child("userInfo").child(uid!).child("users")
ref.queryOrderedByKey().observe(.value) { (snapshot) in
if snapshot.childrenCount>0{
self.usersList.removeAll()
for users in snapshot.children.allObjects as![DataSnapshot]{
let userObject = users.value as? [String: AnyObject]
let userPhoneNumber = userObject?["PhoneNumber"]
let userEmail = userObject?["Email"]
let user = UserModel(userPhoneNumber: userPhoneNumber as? String, userEmail: userEmail as? String)
let phone = user.userPhoneNumber
let email = user.userEmail
let userInfo = "\(phone!) \n\(email!)"
let alert = UIAlertController(title: "User", message: userInfo, preferredStyle: .alert)
let cancelAction = UIAlertAction(title: "Cancel", style: .default)
alert.addAction(cancelAction)
let callAction = UIAlertAction(title: "Call", style: .default) { (action) in
if let number = guestPhoneNumber {
guard let url = URL(string: "teleprompt://\(number)") else{
return
}
UIApplication.shared.open(url)
}
}
alert.addAction(callAction)
self.present(alert, animated: true, completion: nil)
self.usersList.append(guest)
}
}
}
}
}
解决方案
推荐阅读
- javascript - 移动模拟器期间的 javascript 事件 MOUSEOVER 和 CLICK
- spring - 在接口方法上缓存注释
- python - 无法运行ride.py:pkg_resources.DistributionNotFound:'robotframework-ride==2.0a1
- html - username 和 username_confirm 的 Angular 2way 绑定
- php - PHP:从多个表中读取单个表
- cucumber - 我的步骤定义日志片段没有从我的功能文件中生成
- postgresql - 在 DockerFile 中包含在 postgresql docker 中运行 sql 脚本
- asp.net-core-mvc - 如何将相同的名称应用于不同的迁移?
- python - 在我现有的熊猫数据框中添加一个新列
- robotframework - RobotFrameWork:如何单击仅有时出现的元素