Una extensión UICollectionView para agregar una celda en blanco rápidamente
May 03 2023
Ejemplo de código Swift Código En el ejemplo anterior, si la celda es de la clase incorrecta, durante la depuración, un error de afirmación detendrá la aplicación. Sin embargo, en Producción, si la celda es de la clase incorrecta, se devolverá una celda en blanco y la aplicación seguirá ejecutándose.

Ejemplo de código Swift
Código
final class FallbackBlankCollectionViewCell: UICollectionViewCell {}
extension UICollectionView {
func blankCell(forIndexPath: IndexPath) -> UICollectionViewCell {
register(FallbackBlankCollectionViewCell.self, forCellWithReuseIdentifier: "FallbackBlankCollectionViewCell")
return dequeueReusableCell(withReuseIdentifier: "FallbackBlankCollectionViewCell", for: forIndexPath)
}
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
if let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "LobbyCell", for: indexPath) as? LobbyCell {
return cell
} else {
assertionFailure()
return collectionView.blankCell(forIndexPath: indexPath)
}
}
En el ejemplo anterior, si la celda es de la clase incorrecta, durante la depuración, un error de afirmación detendrá la aplicación. Sin embargo, en Producción, si la celda es de la clase incorrecta, se devolverá una celda en blanco y la aplicación seguirá ejecutándose.