Подготовьтесь к переходу, не передавая данные - PullRequest
0 голосов
/ 29 июня 2018

Я работаю над проектом Swift, использующим firebase, и у меня есть UICollectionViewController, который имеет все категории, и мне нужно передать Id категории для следующего представления, но он передает пустую строку

 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    let category = cnameArray[indexPath.row]
    let catId = category.caId
    func prepare(for segue: UIStoryboardSegue, sender: Any?){
        if segue.identifier == "CatCity" {
        let cityView = segue.destination as? CityViewController
            cityView?.catId = catId!
    } }
    self.performSegue(withIdentifier: "CatCity", sender: self)

}

и в моем CityViewController у меня есть

    var catId = String()

когда я ставлю точку останова в последней строке функции prepare, она получает удар, и консоль получает значение правильно, а когда сидение точки останова в CityViewController дает мне пустую переменную. и я проверил код и имя моего segue, и все выглядит отлично!

1 Ответ

0 голосов
/ 29 июня 2018

Правильная настройка

 func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    let category = cnameArray[indexPath.row]
    self.performSegue(withIdentifier: "CatCity", sender: category.caId)
}

func prepare(for segue: UIStoryboardSegue, sender: Any?){
   if segue.identifier == "CatCity" {
      if let cityView = segue.destination as? CityViewController {
        cityView.catId = sender as! String
      } 
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...