0
두 개의 UICollectionViewCell이 있는데이 두 가지를 구별하고 싶습니다. 내 RetroItemCollectionViewCell에는 "configureFor"라는 메서드가 있습니다. 어떤 이유로 든 내가 그것을 던지더라도 나는 "configureFor"함수를 호출 할 수 없다.신속한 캐스팅 관련 문제
var cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath)
if cell is RetroItemCollectionViewCell {
cell = cell as! RetroItemCollectionViewCell
let retroItem = self.retroItems[indexPath.row]
cell.configureFor(retroItem: retroItem)
} else if cell is RetroItemAddCollectionViewCell {
}
내가 뭘 잘못하고 있니?
UPDATE :
var cell :UICollectionViewCell!
// check if the cell is the add cell
if indexPath.row == 0 {
cell = collectionView.dequeueReusableCell(withReuseIdentifier: addRetroItemCollectionViewCellReuseIdentifier, for: indexPath) as! RetroItemAddCollectionViewCell
} else {
// HOW DO I CONVERT THE cell to RetroItemCollectionViewCell
let retroItem = self.retroItems[indexPath.row]
cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! RetroItemCollectionViewCell
}
'셀 = 셀로 허락한다면? RetroItemCollectionViewCell {' – tktsubota
'is'는 변수를 형변환하지 않고 변수가 특정 유형인지 여부를 런타임에서 확인합니다. – HAS
하지만 내부로 사용하고 있습니다 –