2017-02-12 12 views
0

シンプルなメモリゲームを構築しました。このゲームでは、すべてのカードがペアになるまで、カードをタップすることになっています。しかし、私の問題は、ユーザーが2枚のカードをタップすると、ゲームが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 
     } 
    } 
+0

クラッシュしている何行? –

+0

@DuncanCは何を言った。ブレークポイントを設定し、どのラインがクラッシュしているのか把握し、コードに基づいて、私たちの助けなしにこれを解決できると思います。 – dylanthelion

答えて

0

アウトレットの少なくとも1つはnilです。あなたの店をxib/storyboardファイルに接続するのを忘れた場合、showCardviewDidLoadの前に呼び出すと、storyboard/xibファイルからインスタンス化しないでコードから完全にビューを作成します。

@dylanthelionのように、コードをデバッグしてコードスタックを確認することをお勧めします。さらにコードをここに貼り付ける必要があります。あなたのコード内

キープ有効に例外ブレークポイント: ​​

関連する問題