У меня есть tableView с ячейкой для каждого покемона в «pokedex». Когда я нажимаю кнопку в ячейке, я хочу показать представление с подробностями об этом существе.Swift: установить переменную перед выполнением segue
Что я делаю, так это то, что у меня есть глобальная переменная «currentPokemon», которую я установил на запрошенный покемон при нажатии кнопки. Вот мой код для Cell:
class PokemonTableViewCell: UITableViewCell {
var pokemon: Pokemon!
@IBOutlet weak var pokemonImage: UIImageView!
@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var releaseDateLabel: UILabel!
@IBAction func setPokemon(sender: UIButton) {
currentPokemon = self.pokemon
}
}
Когда я пытаюсь получить доступ к currentPokemon вар в детальном просмотре, я получаю фатальную ошибку, потому что currentPokemon равна нулю. Как я могу заставить этот код исполняться до начала?
Использование может отправить ваш 'pokemon 'к следующему контроллеру с помощью метода' prepareForSegue'. Но для вашего случая - где вы храните 'currentPokemon'? –
Вы не устанавливаете 'pokemon' ни в чем. Вы просто создаете переменную, но не инициализируете ее. – TheValyreanGroup
@ArtemNovichkov хранится в файле .swift, за пределами определения класса Pokemon, он доступен из других представлений, он работает, если я устанавливаю покемон по умолчанию. – Spoutnovitch