2015-01-07 7 views
1

실행 앱을 클릭하면 지정된 버튼을 클릭해도 앱이 이미지를 배치하지 않습니다. (저는 Swift와 Xcode에 대해 상대적으로 새로운 편입니다.)버튼을 사용할 때 이미지가 표시되지 않습니다.

대신 UIImageViews를 제거하고 대신 버튼을 사용할 것입니다. 더 많은 도움이 필요하면 알려 드리겠습니다. 고맙습니다. 이 도움이

귀하의 UIButtonClicked 기능은 다음과 같이 할 필요가
class ViewController: UIViewController { 

@IBOutlet var TicTacImg1: UIImageView! 
@IBOutlet var TicTacImg2: UIImageView! 
@IBOutlet var TicTacImg3: UIImageView! 
@IBOutlet var TicTacImg4: UIImageView! 
@IBOutlet var TicTacImg5: UIImageView! 
@IBOutlet var TicTacImg6: UIImageView! 
@IBOutlet var TicTacImg7: UIImageView! 
@IBOutlet var TicTacImg8: UIImageView! 
@IBOutlet var TicTacImg9: UIImageView! 

@IBOutlet var TicTacButton1: UIButton! 
@IBOutlet var TicTacButton2: UIButton! 
@IBOutlet var TicTacButton3: UIButton! 
@IBOutlet var TicTacButton4: UIButton! 
@IBOutlet var TicTacButton5: UIButton! 
@IBOutlet var TicTacButton6: UIButton! 
@IBOutlet var TicTacButton7: UIButton! 
@IBOutlet var TicTacButton8: UIButton! 
@IBOutlet var TicTacButton9: UIButton! 

@IBOutlet var ResetButton: UIButton! 

@IBOutlet var UserMessage: UILabel! 

var plays = Dictionary <Int, Int>() 

@IBAction func UIButtonClicked(sender:UIButton) { 
    UserMessage.hidden = true 
    if plays[sender.tag] == nil && !aiDeciding && !done { 
     setImageForSpot(sender.tag, player:1) 
    } 
} 

func setImageForSpot (spot:Int, player:Int) { 
    var playerMark = player == 1 ? "x" : "o" 
    plays[spot] = player 
    switch spot { 
    case 1: 
     TicTacImg1.image = UIImage(named: playerMark) 
    case 2: 
     TicTacImg2.image = UIImage(named: playerMark) 
    case 3: 
     TicTacImg3.image = UIImage(named: playerMark) 
    case 4: 
     TicTacImg4.image = UIImage(named: playerMark) 
    case 5: 
     TicTacImg5.image = UIImage(named: playerMark) 
    case 6: 
     TicTacImg6.image = UIImage(named: playerMark) 
    case 7: 
     TicTacImg7.image = UIImage(named: playerMark) 
    case 8: 
     TicTacImg8.image = UIImage(named: playerMark) 
    case 9: 
     TicTacImg9.image = UIImage(named: playerMark) 
    default: 
     TicTacImg5.image = UIImage(named: playerMark) 
    } 
} 
+0

종료 할 때 sigterm은 아마도 디버거 설정 방법에 대한 부작용 일 수 있으며 무시할 수 있습니다. 해당 부분을 제거하는 질문을 편집 할 수도 있습니다. –

+0

IBAction이 실행 중입니까? 'sprintf()'를 넣거나 "UserMessage.hidden = true"위에 중단 점을 설정하십시오. –

+0

또한 구문 상 오류가 있지만 장기간 계속되는 규칙을 깨고 있습니다. 'UIButtonClicked'라는 이름의 함수는 소문자로 시작해야하며 clicked를 참조하면 안됩니다. 더 나은 함수 이름은'tickTacButtonAction :'입니다. 또한'UserMessage'는'userMessage'이어야하고'TickTackImg1' (/ 2/3/4/..)는'tickTackImg1'이어야합니다. 'tickTackButton' 변수도 마찬가지입니다. –

답변

1

...

@IBAction func UIButtonClicked(sender:UIButton) { 
      ticTacLabel.hidden = true 
      if plays[sender.tag] == nil && !aiDeciding && !done { 
       setImageForSpot(sender.tag, player:1) 
    } 

희망!

+0

감사합니다. 잘 돌아갔다. – mccoyLBI