无法在表视图中列出数据 [关闭]

Posted

技术标签:

【中文标题】无法在表视图中列出数据 [关闭]【英文标题】:Can't list data in Table View [closed] 【发布时间】:2020-05-11 19:43:11 【问题描述】:

我可以打印所有数据,但无法在表格视图中列出。 我搜索所有者为 user.user_id 的所有活动 我想在表格视图中列出。 但是表格视图什么也没显示。

【问题讨论】:

请将邮政编码作为文本而不是图像 在 Swift 中将 [String:Any] 转换为 NSDictionary 太可怕了。 改成 (snapshot.value as?NSDictionary) 还是不行。 【参考方案1】:

你需要重新加载数据

         query. observeSingleEvent(.value, with:  [weak self] snapshot in 
            let result = snapshot.value as [String:Any]
            self?.MyAct.append(result as? NSDictionary?)

             DispatchQueue.main.async 
             self?.tableView.reloadData ()
             

            )

【讨论】:

表格视图仍然不显示任何内容。而且我无法在 MyAct[String:Any] 中附加结果 请立即检查...希望能解决您的问题 我尝试添加 self.myActTableView.reloadData() 但还是不行。 你是在主线程上做的吗? 检查 MyAct 计数?【参考方案2】:

append 行下面添加重新加载到表中

self.myAct.append(result as! NSDictionary?)
self.myActTableView.reloadData()

由于请求是异步的,如果你真的需要 observeSingleEvent 而不是昂贵的 observe ,你需要在 append 之前清除数组,如果你不这样做,你会得到重复的Firebase 中数据的任何微小变化

也在viewDidLoad添加

self.myActTableView.delegate = self
self.myActTableView.dataSource = self

【讨论】:

仍然无法在表格视图中显示数据。 @HiuChungChan 不要忘记添加委托和数据源查看编辑 我在 viewDidLoad 中添加了委托和数据源,但仍然无法正常工作。 你能在追加后print(self.MyAct.count)吗?你得到了什么? 是的,结果是1

以上是关于无法在表视图中列出数据 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

不触摸屏幕就无法查看表格视图项目

在表视图中删除核心数据对象

核心数据未在表视图中获取

无法保存数据并从关闭中重新加载表视图

使用数组传递数据,但在表视图委托中显示为空

在表视图中使用 JSON 编码错误