You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

UICollectionView.CellRegistration的参数(cell、indexPath等)来自何处?

UICollectionView.CellRegistration 闭包参数来源解析

你看到的闭包是UICollectionView.CellRegistration的配置回调,这些参数全是UICollectionView内部自动传递的,不需要你手动传入,每个参数的具体来源和作用如下:

  • cell: UICollectionViewListCell:这是系统已创建或复用好的cell实例。当collectionView需要展示某个位置的cell时,会根据你注册的cell类型(此处为UICollectionViewListCell),要么新建一个cell,要么从复用池里取出闲置的cell,然后把这个cell对象传入闭包,供你配置内容。

  • indexPath: IndexPath:代表当前cell在collectionView中的位置(包含section和item信息)。你可以用它从数据源(比如示例里的Reminder.sampleData)中取出对应位置的数据,以此来配置cell的内容。

  • _: String:这是你注册时指定的标识符参数(又称itemIdentifier)。创建CellRegistration时你指定了泛型类型为String,后续用这个注册对象获取cell时,需要传入对应的标识符值,系统会把这个值传递到闭包里。示例里用下划线_表示暂时不需要使用这个参数,但它的来源就是你dequeue cell时传入的标识符。

举个配套的dequeue代码示例,你就能更清楚:

collectionView.dequeueConfiguredReusableCell(using: cellRegistration, for: indexPath, item: "your-identifier")

这里的item: "your-identifier"就是闭包中第三个String参数的来源。

内容的提问来源于stack exchange,提问作者CaptainLupa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 05:31:17