@shevzoom
 dev., student at MEPhI

Как обратиться к 0 и 1 элементу, пропуская остальные?

Хочу придумать, как можно пройти только нулевой и первый элемент, вместо всех?
попытался сделать цикл
for IndexPath in 1 { ...}
получил ошибку For-in loop requires 'Int' to conform to 'Sequence'
Есть советы как быть?
вот функция:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = mainView.collectionView.dequeueReusableCell(withReuseIdentifier: MainCollectionViewCell.cellId, for: indexPath) as! MainCollectionViewCell
        
        cell.titlelabel.text = fetchedDataArray?[indexPath.row].title
        cell.textLabel.text = fetchedDataArray?[indexPath.row].listDescription
        cell.priceLabel.text = fetchedDataArray?[indexPath.row].price
        cell.titleImageView.image = images?[indexPath.row]
        
        switch indexPath {
        case selectedIndexPath:
            cell.checkMarkButton.isHidden = false
            guard let cellTitleText = cell.titlelabel.text else {
                return UICollectionViewCell()
                
            }
            selectedTitleString = cellTitleText
            
        default:
            cell.checkMarkButton.isHidden = true
        }
        return cell
    }
  • Вопрос задан
  • 378 просмотров
Решения вопроса 1
briahas
@briahas
ObjC, Swift, Python
"For-in loop" предназначен чтобы перебирать Последовательности. Вы же поставили вместо Последовательности - число. Поставьте вместо числа, Последовательность из необходимых вам IndexPath-ов, и получите то что вам надо.

updated:
если вам не нужен только, всегда, и только третий элемент то :
  • соберите другой массив в котором не будет этого элемента
  • или внутри тела цикла поставьте проверку если это третий элемент то continue
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы