์ด๋ฐ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด์ simulator๊ฐ ํ! ๊บผ์ง๋ ์ฌํ๊ฐ๋ฐ์ํ๋ค.
์ด๋ ๊ฒ collecionView์ CollectionViewCell์ ์ ๋จ์ง๋ง, ์คํฌ๋กค ๋ด๋ ค๊ฐ๋ค๊ฐ ์๋๋ถ๋ถ์์ ํ ๊บผ์ง๋ ์ฌํ๊ฐ ๋ฐ์ํ๊ณ ์? ์๋ฌ๋ฅผ ์ ์ฝ์ด๋ด ์๋ค.
โ ๏ธ Thread 1: "could not dequeue a view of kind: UICollectionElementKindCell with identifier AchieveSummaryLottieCollectionViewCell - must register a nib or a class for the identifier or connect a prototype cell in a storyboard”
์ง๊ธ ๋ด๊ฐ cell๋ก ๋์์ผํ๋ ํํ๊ฐ ๋๊ฐ์ง์ด๋ค. ๊ทธ๋์ ๋๊ฐ์ cell์ ๋ง๋ค์ด์ค๋ค์, ์๋์ฒ๋ผ ๋ถ๊ธฐ์ฒ๋ฆฌ๋ฅผ ํด๋์ ์ํ์ด๋ค.
// MARK: - UICollectionViewDataSource
extension MyNewsDrawerViewController: UICollectionViewDataSource {
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return self.myNewsData.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
if myNewsData[indexPath.row].title == nil {
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: AchieveSummaryLottieCollectionViewCell.className, for: indexPath) as? AchieveSummaryLottieCollectionViewCell else { return UICollectionViewCell() }
return cell
} else {
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: MyNewsDrawerCollectionViewCell.className, for: indexPath) as? MyNewsDrawerCollectionViewCell else { return UICollectionViewCell() }
cell.setData(myNewsData[indexPath.row])
return cell
}
}
}
์ฌ๊ธฐ์ “AchieveSummaryLottieCollectionViewCell” ์ด ์ ๋๋ก ๋ถ๋ฌ์์ง์ง ์๋๋ณด๋ค. identifier๊ฐ AchieveSummaryLottieCollectionViewCell์ ๋ํ .nibํ์ผ ๋๋ ํด๋์ค๋ฅผ ๋ฑ๋กํ๊ฑฐ๋ ์คํ ๋ฆฌ๋ณด๋์์ ํ๋กํ ํ์ ์ ์ ์ฐ๊ฒฐํด์ผ ํ๋ค๊ณ ๋์์๊ธฐ ๋๋ฌธ์ด๋ค.
๐ ์ฐพ์๋ค ์์ธ
ใ ใ ใ ใ ์๊ฐ๋ณด๋ค ๋นจ๋ฆฌ ์์๋๋ค. ์๋ ์๋ฌด๋ฆฌ๋ด๋ Cell์ ์ฝ๋๋ ์๋ฒฝํ๊ณ , ๋ถ๊ธฐ์ฒ๋ฆฌ๋ ์๋ฌ๊ฐ ๋์ง ์๊ฒ ์ ๋์ด์๋๋ฐ ์ ๋์์ง์ง์๋๊ฑธ๊น, ๊ณ ๋ฏผํ๋๋ฐ ์๋ ์ฝ๋๋ฅผ ์์จ์คฌ๋ค. ใ ใ
collectionView.register(AchieveSummaryLottieCollectionViewCell.self, forCellWithReuseIdentifier: AchieveSummaryLottieCollectionViewCell.className)
๊ทธ๋๊น Collectionview์ ๋ฑ๋ก์ด ๋์ง ์์๋ค๊ณ ํด๋น cell์ด ๋ก๋๋ ๋ ์๋ฌ๊ฐ ๋๋ฉด์ simulator๊ฐ ๋ฉ์ถ๊ฒ์ด์๋ฐ~~
๋ฑ๋ก์ ๊ผญ ํด์ฃผ์ ~~! ^____^ (๋ฏผ๋งํ ์๋ฌ) ์ง์ ๋๋ค ๋ง์ง๋ง์ ๋กํฐ ๋ค์ด๊ฐ๋ค ~ ๋ฃฐ๋ฃจ ๐ถ
๊ฒฐ๋ก - ๊น๋จน์ง๋ง์ register!!!
collectionView.register(AchieveSummaryLottieCollectionViewCell.self, forCellWithReuseIdentifier: AchieveSummaryLottieCollectionViewCell.className)