#ios #delegates #swift #protocols #xcode6
#iOS #делегаты #swift #протоколы #xcode6
Вопрос:
Я создал протокол в одном из моих ViewControllers над объявлением класса следующим образом:
@class_protocol protocol CRAAddCredentialDelegate {
func didAddCredential()
}
class CRAAddCredentialTableViewController: UITableViewController {
....
}
Однако, когда я пытаюсь соответствовать этому протоколу:
class CRAMainViewController: UIViewController, UITableViewDataSource, UITableViewDelegate, CRAAddCredentialDelegate {
....
}
Я получаю сообщение об ошибке:
Что я делаю не так?
Ответ №1:
Вы добавили функцию didAddCredential()
в свой CRAMainViewController
класс?
Добавляя , CRAAddCredentialDelegate
в список протоколов, вы указываете, что ваш класс будет предоставлять все переменные и функции, которые включает протокол.
Поэтому вам нужно их действительно предоставить.
class CRAAddCredentialTableViewController: UITableViewController {
func didAddCredential() {
// add code here
}
....
}
Ответ №2:
Вы должны реализовать требуемый протокол. В вашем случае func didAddCredential()
объявленный в протоколе CRAAddCredentialDelegate
не реализован, поэтому он выдает ошибку.