ios - 自定义类数据未快速显示在表格视图中
问题描述
嗨,我正在从 firebase 获取数据并存储到自定义类中并显示到 tableview 中,当我显示 tableview 时它不显示为空,但是当我用另一个数组数据调用它时它工作正常
class datapass {
var fullName : String?
var status : String?
var dateAndTimeofVisit :String?
var profilephot :String?
var uid :String?
var inviterUID: String?
init(fullname:String?,status:String?,dateAndTimeofVisit:String?,profilephot:String,uid:String?,inviterUID:String?) {
self.fullName = fullname
self.status = status
self.dateAndTimeofVisit = dateAndTimeofVisit
self.profilephot = profilephot
self.uid = uid
self.inviterUID = inviterUID
}
}
里面viewdidload
var datapassval = [datapass]()
HandedDataRef = Database.database().reference()
.child(Constants.FIREBASE_CHILD_VISITORS)
.child(Constants.FIREBASE_CHILD_PRE_APPROVED_VISITORS).child("-LHO1TuRZTKCZV5Mli13")
HandedDataRef?.observeSingleEvent(of: .value, with: {(snapshot) in
print("snapshot values",snapshot)
if snapshot.exists() {
let visitorData = snapshot.value as? [String: AnyObject]
print("visitordata",visitorData as Any)
let dateAndTimeOfVisit = visitorData?[VisitorListFBKeys.dateAndTimeOfVisit.key] as? String
let fullName = visitorData?[VisitorListFBKeys.fullName.key] as? String
let inviterUID = visitorData?[VisitorListFBKeys.inviterUID.key] as? String
let mobileNumber = visitorData?[VisitorListFBKeys.mobileNumber.key] as? String
let profilePhoto = visitorData?[VisitorListFBKeys.profilePhoto.key] as? String
let status = visitorData?[VisitorListFBKeys.status.key] as? String
let uid = visitorData?[VisitorListFBKeys.uid.key] as? String
self.datapassval.append(datapass.init(fullname: fullName, status: status , dateAndTimeofVisit: dateAndTimeOfVisit, profilephot: profilePhoto!, uid: uid, inviterUID: inviterUID))
}
})
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return datapassval.count //count getting 0
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! HandedThingsToGuestTableViewCell
let datamy = datapassval[indexPath.row]
print("datamy",datamy)
cell.lbl_VisiterName.text = datamy.fullName
}
它没有显示任何东西如何在我犯错的地方显示自定义类数据
解决方案
您需要重新加载表格
self.datapassval.append(datapass.init(fullname: fullName, status: status , dateAndTimeofVisit: dateAndTimeOfVisit, profilephot: profilePhoto!, uid: uid, inviterUID: inviterUID))
self.tableView.reloadData()
推荐阅读
- python - 如何使用 Python 将嵌套字典添加到 PostgreSQL?
- android - easyvideoplayer-0.3.0 从服务器收到状态码 403:禁止
- kubernetes - kubectl 转义特殊字符
- java - 如何在 Spring Boot 应用程序中存储多个 HTTP 请求查询参数
- asp.net - 将 SignalR 添加到网站可以在几分钟内加载页面
- github - Pushed Github 文件夹不可点击,如下图所示
- javascript - 在单击另一个元素时切换显示/消失元素
- python - ModuleNotFoundError: No module named 'mysql' in Python 3.8.10 和 Anaconda location 问题中的要求已经满足的原因是什么?
- javascript - 我想更改材质 ui 开关颜色
- python - Pandas Dataframe - 根据正则表达式条件替换所有单元格值