注意:ios开发中的新手。
我刚刚使用垂直滚动创建了一个集合视图,它在动态添加新单元格时有效,但当我将滚动更改为horizontal
时,它不起作用。我设法通过在主线程上重新加载数据来修复它。
我的问题是:
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)
}
答案 0 :(得分:0)
reloadData()必须在主线程中执行:
override func viewWillAppear(_ animated: Bool) {
DispatchQueue.main.async(execute: {
self.collectionView.reloadData()
})
}