Простая игра памяти: найдена ноль ошибок
Я построил простую игру памяти, где пользователь должен нажимать на карту, пока все карты не будут соединены. Однако моя проблема заключается в том, что, когда пользователь нажимает на две карты, игра вылетает через 2 секунды "Неожиданно обнаружен ноль при распаковке".
Я дважды проверил все свои изображения и убедился, что они правильно подключены, но я все еще получаю сообщение об ошибке. мой код ниже:
@IBOutlet weak var frontImageView: UIImageView!
@IBOutlet weak var backImageView: UIImageView!
var card: Card?{
didSet {
guard let card = card else {return}
frontImageView.image = card.image
}
}
fileprivate(set) var shown: Bool = false
//Mark:- Card function properties
func showCard(_ show: Bool, animated: Bool){
frontImageView.isHidden = false
backImageView.isHidden = false //This is where i get the error.
shown = show
if animated {
if show{
UIView.transition(from: backImageView, to: frontImageView, duration: 0.3, options: .transitionFlipFromBottom, completion: { (finished: Bool) in
})
} else {
UIView.transition(from: frontImageView, to: backImageView, duration: 0.3, options: .transitionFlipFromBottom, completion: { (finished: Bool) in
})
}
} else {
if show{
bringSubview(toFront: frontImageView)
backImageView.isHidden = true
} else {
bringSubview(toFront: backImageView)
frontImageView.isHidden = true
}
}
1 ответ
По крайней мере, один из ваших торговых точек - ноль. Есть много причин, например: вы забыли подключить свои розетки к файлу xib / storyboard, звоните showCard
до viewDidLoad
Вы создаете представление исключительно из кода, а не создания экземпляра из файла раскадровки / XIB.
Как @dylanthelion предлагает вам отладить код и посмотреть на свой стек кода. Вы также должны вставить больше кода здесь.
Сохраните включенные точки останова в своем коде: https://www.youtube.com/watch?v=AvnqBjzEKuk