调用方法 reloadData()
Calling the method reloadData()
我的应用程序包含两个 collectionViews,mainCollectionView
和 nestedCollectionView
,它们位于 mainCollectionViewCell
中。
就像iPhone日历应用程序,mainCollectionView
中的每个单元格都有代表一个月的nestedCollectionView
(单元格的数量将是月份的天数) .
class cell_Main:UICollectionViewCell{
let collectionView:UICollectionView = {
let cv = nestedCollectionView()
cv.backgroundColor = .white
return cv
}()
为了在月份更改时更新 nestedcollectionView
,我在方法(属于 mainCollectionView)中使用了 nestedcollectionView.reloadData()
:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell_main", for: indexPath) as! cell_Main
let nested_CollectionView = cell.collectionView as! nestedCollectionView
.
.
.
nested_CollectionView.reloadData()
}
! 如果我滚动 mainCollectionView
,nestedCollectionView
应该会更新(月份会更改)。
我的问题:代码工作正常,但它是 reloadData()
的正确方法吗?它是一个昂贵的 CPU 工作吗,应用程序是否使用太多 CPU ?
我没有使用表示一年中月份的嵌套 Collection View,而是尝试制作一个 Main CollectionView,部分的数量为 12(月份数 ),每个部分代表月份,在每个部分中,numberOfItemsInSection
将是月份的天数。任何更新都可以在这里(不使用 reloadData()
):
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
}
。最后,当我们向下滚动到结束部分时,我们将调用 reloadData()
来更新新的 numberOfSections
并移至下一年。
我的应用程序包含两个 collectionViews,mainCollectionView
和 nestedCollectionView
,它们位于 mainCollectionViewCell
中。
就像iPhone日历应用程序,mainCollectionView
中的每个单元格都有代表一个月的nestedCollectionView
(单元格的数量将是月份的天数) .
class cell_Main:UICollectionViewCell{
let collectionView:UICollectionView = {
let cv = nestedCollectionView()
cv.backgroundColor = .white
return cv
}()
为了在月份更改时更新 nestedcollectionView
,我在方法(属于 mainCollectionView)中使用了 nestedcollectionView.reloadData()
:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell_main", for: indexPath) as! cell_Main
let nested_CollectionView = cell.collectionView as! nestedCollectionView
.
.
.
nested_CollectionView.reloadData()
}
! 如果我滚动 mainCollectionView
,nestedCollectionView
应该会更新(月份会更改)。
我的问题:代码工作正常,但它是 reloadData()
的正确方法吗?它是一个昂贵的 CPU 工作吗,应用程序是否使用太多 CPU ?
我没有使用表示一年中月份的嵌套 Collection View,而是尝试制作一个 Main CollectionView,部分的数量为 12(月份数 ),每个部分代表月份,在每个部分中,numberOfItemsInSection
将是月份的天数。任何更新都可以在这里(不使用 reloadData()
):
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
}
。最后,当我们向下滚动到结束部分时,我们将调用 reloadData()
来更新新的 numberOfSections
并移至下一年。