Avatar
ありがとうございます。自分のコードの問題点がわかりました。cellRegistrationとdataSourceをStored propertyにしていたのが直接の問題だったことですね、サンプルがみんなStored propertyにしていたので、何も考えずお作法的にしてしまってました。 参考コードありがとうございます、助かりました。(以下参考にもならないですが、こう書いてました) class ListViewController: UIViewController { // MARK: IBOutlet @IBOutlet private weak var collectionView: UICollectionView! let cellRegistration = UICollectionView.CellRegistration<UICollectionViewListCell,GameEntity>{ (cell, indexPath, item) in var contentConfiguration = cell.customGameContentConfiguration() contentConfiguration.isEditing = self.collectionView.isEditing //<- selfにアクセスできない cell.contentConfiguration = contentConfiguration } lazy var dataSource = UICollectionViewDiffableDataSource<Section, GameEntity>(collectionView: collectionView, cellProvider: { [unowned self] (collectionView, indexPath, item ) in return collectionView.dequeueConfiguredReusableCell(using: cellRegistration, for: indexPath, item: item) }) override func viewDidLoad() { super.viewDidLoad() } ...