Используйте выполнить переход в представление коллекции - PullRequest
0 голосов
/ 27 февраля 2019

Мне нужно передать мои данные в коллекцию с указанием пути индекса.я пытаюсь использовать этот код, но я не знаю, почему у меня результат в 2 раза больше, один раз все нормально, а второй ноль.

override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

    self.performSegue(withIdentifier: "showDetails", sender: indexPath)


}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

    if let cell = sender as? UICollectionViewCell,
        let indexPath = self.collectionView.indexPath(for: cell) {

        let secondViewController = segue.destination as! CollectionDetailViewController //Cast with your DestinationController
        //Now simply set the title property of vc
        secondViewController.people = person[indexPath.row]
    }
}

1 Ответ

0 голосов
/ 27 февраля 2019

Вы получаете 2 звонка на prepare(for:sender:), потому что ваша передача связана с вашим UICollectionViewCell.Это вызовет prepare(for:sender:) для вас, поэтому вам не нужен этот код:

override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {

    self.performSegue(withIdentifier: "showDetails", sender: indexPath)


}

Удалите его, и вы должны быть в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...