2016-04-26 2 views
0

Я попытался закодировать программу, которая имеет два изображения. Я использую 4 кнопки UP, DOWN, LEFT, RIGHT для перемещения одного изображения. Если это изображение достигнет другого, появится текстовое поле: «Вы победитель!».«Ожидаемая декларация» в Swift

Однако строка, содержащая код If ... всегда получает ошибку «Ожидаемая декларация». Как я могу запустить его, PLS?

Это весь код, имена двух изображений ConChimCu и Чунг:

import UIKit 

class ViewController: UIViewController { 
    @IBOutlet weak var txtBai: UITextView! 
    @IBOutlet weak var ConChimCu: UIImageView! 
    @IBOutlet weak var Trung: UIImageView! 

    @IBAction func Up(sender: AnyObject) { 
     ConChimCu.frame.origin.y = ConChimCu.frame.origin.y - 2 
    } 

    @IBAction func RIGHT(sender: AnyObject) { 
     ConChimCu.frame.origin.x = ConChimCu.frame.origin.x + 2 
    } 

    @IBAction func DOWN(sender: AnyObject) { 
     ConChimCu.frame.origin.y = ConChimCu.frame.origin.y + 2 
    } 

    @IBAction func LEFT(sender: AnyObject) { 
     ConChimCu.frame.origin.x = ConChimCu.frame.origin.x - 2 
    } 

    if ConChimCu.frame.origin.x == Trung.frame.origin.x { txtBai.text = "You are the winner!" 
    } 

    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

Возможный дубликат [Ожидаемая декларация об ошибке Xcode 6.2 с помощью Swift] (http://stackoverflow.com/questions/29835490/expected-declaration-error-xcode-6-2- using-swift) – vadian

ответ

2

Ваш если заявление должно быть внутри функции.

Пример

 


    func checkCollision() { 
     if ConChimCu.frame.origin.x == Trung.frame.origin.x { 
      txtBai.text = "You are the winner!" 
     } 
    } 

 
+1

Я подозреваю, что это ему нужно. Также он должен называть эту функцию после каждого хода. –

+0

Я следую вашим советам, ошибка больше не появляется. Но когда «ConChimCu» достигает «Trung», текст «Вы победитель» не появляется. Я также исправил «func checkCollition()» в «func checkCollision()», но ничего не произошло. –

+0

Вы делали то, что предложил @EvdzhanMustafa? – Kingslayerpy

0

Две вещи, которые вы делаете неправильно здесь.

  1. Вы указали условие IF из области действия. (Как предложил @Kingslayerpy)
  2. Даже после коррекции Если вы не вызвали это условие. (По моему мнению в соответствии с вашим комментарием)

Итак, вот решение.

создать функцию, как

func checkCollision() { 
    if ConChimCu.frame.origin.x == Trung.frame.origin.x { 
     txtBai.text = "You are the winner!" 
    } 
} 

и вызывать его из каждой вашей кнопки действий.

например.

@IBAction func Up(sender: AnyObject) { 
    ConChimCu.frame.origin.y = ConChimCu.frame.origin.y - 2 
    checkCollision() 
} 

Наслаждайтесь;]

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