【问题标题】: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) 还是不行。

标签: swift firebase uitableview cell 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
猜你喜欢
  • 1970-01-01
  • 2017-04-27
  • 2020-06-23
  • 1970-01-01
  • 2014-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多