2016-03-22 2 views
2

Я пытаюсь использовать некоторый код для создания новичка приложения с использованием Xcode 7.3 и Swift 2.2, но я все время сталкиваюсь с той же проблемой. Раньше я использовал аналогичный код, но это просто не сработает. Появляются сообщения об ошибках: «Ожидаемый», «Разделитель», и когда я исправляю это, появляется одно и то же сообщение снова и снова. Я также получаю «Ожидаемое выражение в список выражений» и «отсутствует аргумент для параметра„действия“в вызове» .Они все вызваны одной и той же линии«Ожидаемое выражение в списке выражений»

button.addTarget(self, action: #selector(RatingControl.ratingButtonTapped(_:)), forControlEvents: .TouchDown) 

Вот код

import UIKit 

class RatingControl: UIView { 

    required init?(coder aDecoder: NSCoder) { 
     super.init(coder: aDecoder) 

     let button = UIButton(frame: CGRect(x: 0, y: 0, width: 44, height: 44)) 
     button.backgroundColor = UIColor.redColor() 
     button.addTarget(self, action: #selector(RatingControl.ratingButtonTapped(_:)), forControlEvents: .TouchDown) 
     addSubview(button) 
    } 

    override func intrinsicContentSize() -> CGSize { 
     return CGSize(width: 240, height: 44) 
    } 

    func ratingButtonTapped(button: UIButton) { 
     print("Button pressed") 
    } 
} 
+1

На какой строке появляется сообщение об ошибке? Этот код легко компилируется в моей системе. –

+0

'# selector' - это Swift 2.2, который поставляется с Xcode 7.3 - возможно, вам нужно обновить Xcode? – Moritz

+0

@ScottThompson появляется на строке start button.addTarget ошибка вызвана действием: – Gubby

ответ

1

Вы можете попробовать следующий код:

button.addTarget(self, action: "ratingButtonTapped:", forControlEvents: .TouchDown) 
3

Вам нужно Clean проект.

Нажмите Сдвиг + + K

0

У меня была аналогичная проблема, когда я создал UIButton так:

let button = UIButton() 
button.frame = CGRect(x: 0.0, y: 0.0, width: size, height: size) 

Для меня ошибка ушла, когда я изменил как была создана кнопка:

let button = UIButton(type: .System) 
button.frame = CGRect(x: 0.0, y: 0.0, width: size, height: size) 

Ни чистка проекта, ни удаление полученных данных не исправили проблему для меня. Я использовал Xcode 7.3.1.

1

#selector - это Swift 2.2, который поставляется с Xcode 7.3, поэтому вам необходимо обновить Xcode до последней версии.

После завершения работы, если ваш Xcode запутан после обновления, помогите ему: перейдите в меню «Продукт> Очистить», а также при необходимости очистите папку «производные данные».

Примечание: это ответ, сделанный из моих комментариев в OP, который решил их проблему.

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