खाली सेल को जल्दी से जोड़ने के लिए एक UICollectionView एक्सटेंशन

May 03 2023
स्विफ्ट कोड नमूना कोड उपरोक्त उदाहरण में, यदि सेल गलत वर्ग का है, तो डिबगिंग करते समय, एक अभिकथन विफलता ऐप को रोक देगी। हालांकि, प्रोडक्शन में, यदि सेल गलत वर्ग का है, तो एक खाली सेल लौटा दी जाएगी और ऐप चलता रहेगा।

स्विफ्ट कोड नमूना

कोड

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)
        }
    }

उपरोक्त उदाहरण में, यदि सेल गलत वर्ग का है, तो डिबगिंग करते समय, एक अभिकथन विफलता ऐप को रोक देगी। हालांकि, प्रोडक्शन में, यदि सेल गलत वर्ग का है, तो एक खाली सेल लौटा दी जाएगी और ऐप चलता रहेगा।