什么时候调用委托?

When is a delegate called?

例如,当我设置一个 collectionView 并将 VC 设置为它的委托 (UICollectionViewDelegate) 时,我无法理解委托何时被调用。

是否在显示collectionView之前调用。或者什么时候已经显示? 因为有些方法似乎提供了对象布局的重要特征(例如部分中的项目数),但其他方法似乎提供的较少 "important task".

直到现在我还不能理解委托在iOS开发中这个重要的概念。

根据事件调用委托方法。 请参考这个 link https://developer.apple.com/documentation/uikit/uicollectionviewdelegate

例如,当用户滚动时调用scrollViewDidScroll 方法。 并在安装 collectionview 时调用 collectionView 方法。

委托可以表示为接口,它正在调用 UICollectionView 中定义的方法 class。

正如 Bojan 所说,UICollectionViewDelegates 是根据事件调用的。当您设置 collectionView 委托并将其 dataSource 设置为 VC swift 时,将检查这些方法:

func numberOfSections(in collectionView: UICollectionView) -> Int
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int

如果您在这些方法中 return 为零,则根本不会触发任何触发委托的事件。因此委托方法将在检查 dataSource

后调用