【发布时间】:2014-11-06 08:10:31
【问题描述】:
我有一个问题,我似乎无法找到解决方案。我是 Swift 的新手,正在尝试创建一个井字游戏。
每当我在多人模式下玩完游戏时,就会弹出一个播放按钮。我点击它,它会自动崩溃并指示有一个断点(EXC_BREAKPOINT)
重置游戏按钮附在@IBAction func
@IBAction func playAgainPressed(sender : AnyObject) {
goNumber = 1
winner = 0
gameState = [0, 0, 0, 0, 0, 0, 0, 0 ,0]
label.center = CGPointMake(label.center.x - 400, label.center.y)
playAgain.alpha = 0
var button : UIButton
for var i = 0; i < 9; i++ {
button = view.viewWithTag(i) as UIButton
button.setImage(nil, forState: .Normal)
}
}
每当我设置i = 0 时,它都会崩溃。每当我将 i 设置为 1 时,它都能完美运行。虽然标签 0 是游戏的左上角,但每当i = 1 时,它会重置除左上角之外的所有按钮。当我设置i = 0 时,它也应该隐藏左上角,但此时它会崩溃。
有什么想法吗?
如何设置它,以便我拥有 UIButton 数组并在我再次按下播放后重置?我也没有标签为 0 的多个视图。当我将左上按钮重新编号为 100 而不是 0 时,我收到一个不同的错误,如下所示:
@IBAction func buttonPressed(sender: AnyObject) {
if (gameState[sender.tag]==0 && winner == 0) {
var image = UIImage()
if (goNumber%2==0){
image = UIImage(named:"o")!
gameState[sender.tag] = 2
}else{
image = UIImage(named:"x")!
gameState[sender.tag] = 1
}
" if (gameState[sender.tag]==0 && 获胜者 == 0) "
这会收到一个 EXC_BAD_INSTRUCTION 错误
我不知道在左上角使用标签 0 有什么问题,据我所知,我只有一个带有数字 0 的视图。
【问题讨论】:
-
创建一个数组
[UIButton]并将对您的 9 个按钮的引用放入其中。然后您可以遍历该数组,并确定您正在处理按钮。比使用viewWithTag()好多了
标签: xcode swift xcode6 breakpoints