2017-02-12 75 views
0

我已经构建了一个简单的记忆游戏,用户可以点击一张卡片,直到所有卡片都配对为止。然而,我的问题是,当用户点击两张牌时,游戏在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

您至少有一个网点是零。有很多原因,例如:你忘了将你的插座连接到你的xib/storyboard文件,你在viewDidLoad之前调用showCard,你纯粹从代码创建视图,而不是从storyboard/xib文件实例化。

像@dylanthelion建议您应该调试代码并查看您的代码堆栈。你也应该在这里粘贴更多的代码。

保持启用异常断点在代码: ​​