@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
    }
  • Вопрос задан
  • 402 просмотра
Решения вопроса 1
briahas
@briahas
ObjC, Swift, Python
"For-in loop" предназначен чтобы перебирать Последовательности. Вы же поставили вместо Последовательности - число. Поставьте вместо числа, Последовательность из необходимых вам IndexPath-ов, и получите то что вам надо.

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

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

Похожие вопросы