gpt4 book ai didi

iOS 9 UICollectionView 水平重新加载数据不起作用

转载 作者:可可西里 更新时间:2023-10-31 23:44:20 26 4
gpt4 key购买 nike

注意:ios 开发新手。

我刚刚使用垂直滚动创建了一个 Collection View ,它在动态添加新单元格时有效,但是当我将滚动更改为水平时它不起作用。我设法通过在主线程上重新加载数据来修复它。

我的问题是:

  1. 为什么在使用垂直滚动时不需要在主线程上显式重新加载数据?
  2. viewWillAppear 中重新加载数据/重新加载特定单元格或部分数据是否是最佳做法?

有人遇到过这个问题吗?使用 XCode 7 iPhone 6 和 iPhone 6s(均为 iOS9)进行测试。

我用于重新加载数据(用于测试目的)的代码在 viewWillAppear

override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
myViewModel.reload() // Reload the data with fresh data
collectionView.reloadData()
}

在另一个场景中,我显示一个输入和一个按钮,当按下按钮时,它会将一条记录附加到内存中的数组(静态)

@IBAction func create() {
myViewModel.create(someInput.text!).persist() // Append to an array in memory (just for testing)
navigationController?.popViewControllerAnimated(true)
}

最佳答案

reloadData() 必须在主线程中执行:

override func viewWillAppear(_ animated: Bool) {
DispatchQueue.main.async(execute: {
self.collectionView.reloadData()
})
}

关于iOS 9 UICollectionView 水平重新加载数据不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34568190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com