无法理解 中的闭包UICollectionViewDiffableDataSource
,尤其是传递给它的内容。我能找到的所有教程都解释了要输入什么而不是为什么,而且我对 Swift 和编程还是有点陌生。
我正在关注 Paul Hudson 的教程(他正在制作一个由App
对象组成的应用商店),并在其中createDataSource()
写道:
dataSource = UICollectionViewDiffableDataSource<Section, App>(collectionView: collectionView)
{ collectionView, indexPath, app in
//rest of the closure
}
我对闭包参数的困惑在于它们来自哪里:
- 他碰巧
collectionView
在 View Controller 的其他地方声明为全局变量。所以我想这是传递的必要条件? - 来自哪里
indexPath
? - 最令人困惑的是:它怎么知道
app
是什么?据我所知,它没有在任何地方声明。在我看过的所有教程中都是这种情况。世界上的一个实例的概念是App
从哪里来的?
非常感谢任何可以帮助我掌握这一点的人,我一直在搜索教程,但很难弄清楚这里的机制。