2014-09-20 47 views
1

我刚刚更新到Xcode 6的非beta版本(最终),并且从beta 5中获得了一些错误我以前没有得到的,其中之一是“无法找到‘& &’接受所提供的参数过载”Swift:更新Xcode时发生错误:'无法找到接受提供的参数的'&&'超载'

在这里,我和另外一个问题下面的教程,我知道这个错误是因为”表达太复杂,无法在合理的时间内解决;考虑将表达分解成不同的子表达式。“ 我是初学者;我如何将表达式分解为子表达式?

我的代码:

func checkForWin(){ 
     //first row across 
     var youWin = 1 
     var theyWin = 0 
     var whoWon = ["Lost":0,"Won":1] 
     for (key,value) in whoWon { 
      if ((plays[6] == value && plays[7] == value && plays[8] == value) || //across the bottom 
      (plays[3] == value && plays[4] == value && plays[5] == value) || //across the middle 
      (plays[0] == value && plays[1] == value && plays[2] == value) || //across the top 
      (plays[6] == value && plays[3] == value && plays[0] == value) || //down the left side 
      (plays[7] == value && plays[4] == value && plays[1] == value) || //down the middle 
      (plays[8] == value && plays[5] == value && plays[2] == value) || //down the right side 
      (plays[6] == value && plays[4] == value && plays[2] == value) || //diagonal 
       (plays[8] == value && plays[4] == value && plays[0] == value)){//diagonal 
        userMessage.hidden = false 
        youLabel.hidden = false 
        userMessage.text = "\(key)!" 
        done = true; 
      } 
     } 
    } 
+0

什么是“戏剧”? – AstroCB 2014-09-20 02:56:56

+0

'var plays = [Int:Int]()' – skyguy 2014-09-20 04:46:49

回答

0

要打破它,你只需要增加更多的()秒。像这样:

if (((plays[6] == value) && (plays[7] == value) && (plays[8] == value)) || 
((plays[3] == value) && (plays[4] == value) && (plays[5] == value)) || 
((plays[0] == value) && (plays[1] == value) && (plays[2] == value)) || 

((plays[8] == value) && (plays[4] == value) && (plays[0] == value))) 
相关问题