2014-09-20 50 views
-3

我正在尝试制作一个简单的“猜猜多少个手指”应用程序。就像你在童年时玩的游戏一样?是的。我有一个奇怪的错误,我的一个if语句,它说“预期的减速度”我只是想要如果文本框/字段中的值等于随机数来触发一个函数。如果声明错误“Expected Delceration”

这是我的代码。

import UIKit 

class ViewController: UIViewController { 
//Outlets 
    //text box for guessing 
    @IBOutlet weak var guessField: UITextField! 

    //Correct or Incorrect Display 
    @IBOutlet weak var yn: UILabel! 

    //Label that shows how many guesses you have left 
    @IBOutlet weak var guessesLabel: UILabel! 


//Needed Variables 
    var randomNumber = arc4random() % 6 
    var guesses = 3 
//Start Code 

    if (guessField == randomNumber){ 
    //This is where the error appears^^   
    var yn = "Correct!" 

    }else{ 

    guesses - 1 
    var yn = "Try again!" 
    var guessesLabel = "Remaining Guesses: " + guesses 

    } 
//Endgame function 
    if (guesses > 1){ 
    var yn = "I was holding up \(randomNumber) fingers!" 


    //Endgame function if 1 finger 
    if (randomNumber == 1){ 

     var yn = "I was holding up 1 finger!" 


     } 

    } 


    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 

回答

0

你想:

//Needed Variables 
    var randomNumber = arc4random() % 6 
    var guesses = 3 
//Start Code 

    if (guessField == randomNumber){ 
    //This is where the error appears^^   
    var yn = "Correct!" 

    }else{ 

    guesses - 1 
    var yn = "Try again!" 
    var guessesLabel = "Remaining Guesses: " + guesses 

    } 
//Endgame function 
    if (guesses > 1){ 
    var yn = "I was holding up \(randomNumber) fingers!" 


    //Endgame function if 1 finger 
    if (randomNumber == 1){ 

     var yn = "I was holding up 1 finger!" 


     } 

    } 

为:

func customFunction() -> //type { 

//Needed Variables 
    var randomNumber = arc4random() % 6 
    var guesses = 3 
//Start Code 

    if (guessField == randomNumber){ 
    //This is where the error appears^^   
    var yn = "Correct!" 

    }else{ 

    guesses - 1 
    var yn = "Try again!" 
    var guessesLabel = "Remaining Guesses: " + guesses 

    } 
//Endgame function 
    if (guesses > 1){ 
    var yn = "I was holding up \(randomNumber) fingers!" 


    //Endgame function if 1 finger 
    if (randomNumber == 1){ 

     var yn = "I was holding up 1 finger!" 


     } 

    } 
} 
1

的问题是,经过该行if (guessField == randomNumber),一切都没有任何函数中。你不能在类声明的顶层有可执行代码。这就是为什么编译器告诉你在这一点上你需要一个声明(例如一个函数声明)。

+0

我刚开始这个星期的学习斯威夫特。你能解释我如何解决这个问题吗? – chaserobbins 2014-09-20 23:36:36

+0

@chaserobbins,请参阅我的答案以获得解释。 – WMios 2014-09-23 17:20:49

0

1.guessField是其中将包含的字符串文本字段。(甚至为弦,它是guessfield.text)

2.you是一个整数比较字符串。

所以解决方法是

NSString *strVar=[NSString stringWithFormat:@"%d",var]; 
if[(guessField.text isEqualToString strVar]){ 
    // Your code---- 
}