2014-11-06 64 views
0

我有一個問題,我似乎無法找到解決方案。我對Swift很陌生,正在嘗試創建一個TicTacToe遊戲。EXC_BREAKPOINT在xcode 6中

每當我在多人遊戲模式下完成遊戲時,彈出一個播放按鈕。我點擊它,它會自動崩潰,並表示有一個斷點(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(發件人: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 
    } 

「如果(遊戲狀態[sender.tag] == 0 & &冠軍== 0)」

這個接收EXC_BAD_INSTRUCTION犯錯

我不知道什麼是錯用標記0的左上角公司rner,據我所知我只有一個編號爲0的視圖。

+0

創建一個數組''[UIButton]'並在其中放入9個按鈕的引用。然後,您可以遍歷該數組,並確定您正在處理按鈕。比使用viewWithTag()' – zisoft 2014-11-06 09:07:12

回答

1

您不應該使用標記0作爲標識符,這是默認值。

The document說:

默認值爲0,可以設置此變量的值並使用該值後,以確定該視圖。

因此,您有多個標記爲0的視圖。

+2

好得多,我會走得更遠,並說在這種情況下根本不使用標籤。 – Abizern 2014-11-06 08:31:02