2015-02-25 3 views
0

Я только что открыл новую бета-версию Xcode (8.3 beta 2) и в процессе преобразования моего кода в Swift 1.2. Я столкнулся с проблемой с конкретной строкой кода, в которой я не могу понять решение.Сообщение об ошибке в функции Xcode 6.3 beta 2

В основном я получаю сообщение об ошибке: Objective-C method 'textFieldShouldReturn:' provided by method 'textFieldShouldReturn' conflicts with optional requirement method 'textFieldShouldReturn' in protocol 'UITextFieldDelegate'

Именно на этот код:

@IBAction func textFieldShouldReturn(textField: UITextField!) 
    { 
     budgetNameText.resignFirstResponder() 
    } 

Кто-нибудь знает решение?

+0

Пожалуйста показать еще некоторый контекст. – Christian

+0

я заметил, что протокол изменился - метод должен теперь возвращать логическое значение, например, так: @IBAction Func textFieldShouldReturn (TextField: UITextField) -> Bool { budgetNameText.resignFirstResponder() возвращение правда; } – Mahakala

ответ

1

Как вы видите в своем сообщении об ошибке, уже существует метод, называемый вашим методом. Таким образом, ваша проблема заключается в том, что в UITextFieldDelegate существует также метод, называемый textFieldShouldReturn. Поэтому вам нужно переименовать свой метод IBAction в нечто другое.

Это метод делегата обеспечивает:

func textFieldShouldReturn(textField: UITextField) -> Bool { 
    return true 
} 
+0

А, я вижу. Большое спасибо! – user3746428

+0

Добро пожаловать. – Christian

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