2015-07-24 5 views
1

я теперь настроить свою систему сдачи ответ на 1 из 4 вариантов, но странная ошибка появилась:Ожидаемая декларация условного оператора

 var optionAnswer:UInt32 = arc4random_uniform(4) 
if optionAnswer == 0 {     // Expected declaration 
    optionA.text = secretAnsarrrrr.text 
} 
if optionAnswer == 1 { 
    optionB.text = secretAnsarrrrr.text 
} 
if optionAnswer == 2 { 
    optionC.text = secretAnsarrrrr.text 
} 
if optionAnswer == 3 { 
    optionD.text = secretAnsarrrrr.text 
} 

ошибка появилась только на первый условный, и он не сделал укажите, что мне нужно сделать. Как это исправить?

полный код:

 import UIKit 

    class ViewController: UIViewController { 

@IBOutlet var numA: UILabel! 
@IBOutlet var operation: UILabel! 
@IBOutlet var numB: UILabel! 
@IBOutlet var secretAnsarrrrr: UILabel! 

@IBOutlet var optionA: UILabel! 
@IBOutlet var optionB: UILabel! 
@IBOutlet var optionC: UILabel! 
@IBOutlet var optionD: UILabel! 

@IBOutlet var level: UILabel! 
@IBAction func startTest(sender: UIButton) { 
    var question:Int = 1 
    func generateQuestion() { 
     var answer:Float = 0.0 
     var randomoperation:UInt32 = arc4random_uniform(4) 
     if randomoperation == 0 { 
      operation.text = "+" 
     } 
     if randomoperation == 1 { 
      operation.text = "-" 
     } 
     if randomoperation == 2 { 
      operation.text = "X" 
     } 
     if randomoperation == 3 { 
      operation.text = "/" 
     } 
     var randomNumber:UInt32 = arc4random_uniform(1000) 
     var randomNumber2:UInt32 = arc4random_uniform(1000) 
     // 1000 is my maximum number for now. 
     randomNumber += 1 
     randomNumber2 += 1 
     func identifyVal() { 
      if randomNumber < randomNumber2 { 
       var between:UInt32 = 1000 - randomNumber2 
       randomNumber = randomNumber2 + arc4random_uniform(between - 1) 
       //making sure that randomNumber is not smaller than randomNumber2, therefore all results are positive. 
      } 
     } 
     if operation.text == "/" { 
      identifyVal() 

      answer = round(Float(randomNumber)/Float(randomNumber2)) 
     } 

     if operation.text == "+" { 
      answer = Float(randomNumber + randomNumber2) 
     } 
     if operation.text == "-" { 
      identifyVal() 
      answer = Float(randomNumber - randomNumber2) 
     } 
     if operation.text == "x" { 
      answer = Float(randomNumber * randomNumber2) 
     } 
     secretAnsarrrrr.text = "\(answer)" 
     numA.text = String(Int(randomNumber)) 
     numB.text = String(Int(randomNumber2)) 
    } 
    generateQuestion() 
} 
var optionAnswer:UInt32 = arc4random_uniform(4) 
if optionAnswer == 0 { 
optionA.text = secretAnsarrrrr.text 
} 
if optionAnswer == 1 { 
optionB.text = secretAnsarrrrr.text 
} 
if optionAnswer == 2 { 
optionC.text = secretAnsarrrrr.text 
} 
if optionAnswer == 3 { 
optionD.text = secretAnsarrrrr.text 
} 
var correct:Bool? 
@IBAction func answerA(sender: UIButton) { 
    if optionAnswer == 0 { 
     correct = true 
    } else { 
     correct = false 
    } 
} 
@IBAction func answerB(sender: UIButton) { 
    if optionAnswer == 1 { 
     correct = true 
    } else { 
     correct = false 
    } 
} 
@IBAction func answerC(sender: UIButton) { 
    if optionAnswer == 2 { 
     correct = true 
    } else { 
     correct = false 
    } 
} 
@IBAction func answerD(sender: UIButton) { 
    if optionAnswer == 3 { 
     correct = true 
    } else { 
     correct = false 
    } 
} 

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

Какую ошибку вы получаете? –

+0

Если вы еще этого не сделали, установите xcode в режим отладки. Он часто не показывает ошибку на правильной линии, если не в режиме отладки. Product-> Scheme-> Edit Scheme – NJGUY

+0

Вам нужно переместить его внутри viewDidLoad –

ответ

1

Long Шот но вы удаляете функцию на этой линии раньше? Если да, запишите первую строку, а затем удалите «//». Иногда Xcode запутывается.

Сторона Примечание: использование переключателя может работать лучше. Кроме того, рассмотрим возможность размещения внутри структуры, это позволит вам определить метод randomAnswer(), который действует на вопросы, а затем просто ссылается на метод в вашем представлении. Вы могли бы также поместить различные опции в качестве Enums, поскольку только 4 из них. :)

+0

Я добавил «//» после того, как вставлял его здесь, и я не удалял функцию – Justsoft

+0

Я знаю, что мы не должны запрашивать больше кода, но если бы вы могли рассказать нам, какой код у вас есть раньше, можете объяснить, почему вы получаете «ожидаемую декларацию». Проверьте, есть ли у вас открытая '{' где-то перед этим. По некоторым причинам он ожидает, что вы установите декларацию. Также возможно, что ваш код находится в неправильном месте, поскольку он кажется правильным синтаксисом –

+0

Добавлен полный код – Justsoft

Смежные вопросы