Как создать оператор if на основе таймера - PullRequest
0 голосов
/ 18 апреля 2020

В моем ViewController есть Timer вместе с представлением коллекции.

Я хочу запустить оператор if на основе таймера, который влияет на что-либо в представлении коллекции.

Однако, когда я помещаю инструкцию в представление коллекции с ячейкой, она не запускается. Это как если бы объект таймера был установлен c. Я попытался поместить таймер в представление коллекции, однако это вызвало ошибку о том, что «Таймер должен быть объектом верхнего уровня, а не локальным».

Это мой код:

@objc func timerElapsed() {
        seconds -= 1
        timerLabel.text = "\(seconds)"
        if seconds <= 0 {
            timer?.invalidate()
        }
    }

    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return cellImages.count
    }

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "gridCell", for: indexPath) as! CollectionViewCell
        cell.yellowSquare.image = cellImages[indexPath.item]
        return cell
    }
...