【问题标题】:EXC_BREAKPOINT in xcode 6xcode 6 中的 EXC_BREAKPOINT
【发布时间】: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


【解决方案1】:

你不应该使用标签0作为标识符,它是默认值。

The document 说:

默认值为0。您可以设置此标记的值,并在以后使用该值来标识视图。

所以,您有多个带有标签0 的视图。

【讨论】:

  • 我会说在这种情况下根本不要使用标签。
猜你喜欢
  • 1970-01-01
  • 2017-11-05
  • 1970-01-01
  • 1970-01-01
  • 2014-12-21
  • 2015-01-25
  • 2015-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多