Это моя текущая ситуация:
class FirstViewController: UITableViewController {
...
}
protocol SharedFunctions {
func createEvent(event: Event, text: String)
}
extension FirstViewController: SharedFunctions {
createEvent(event: Event, text: String) {
...
}
}
class SecondViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
var sharedFunctions = SharedFunctions? // < Xcode error...
@IBAction func postChatMessageAction(_ sender: Any) {
self.sharedFunctions.createEvent(event: event, text: "New Event")
}
...
}
Ошибка: ожидаемое имя члена или вызов конструктора после имени типа
Когда я изменяю свой код, как Xcode предлагаетошибка исчезла, но я получаю сообщение об ошибке в функции createEvent
var sharedFunctions = SharedFunctions?.self //Xcode suggestion is adding .self
Теперь я получаю сообщение об ошибке в функции createEvent
@IBAction func postChatMessageAction(_ sender: Any) {
self.sharedFunctions.createEvent(event: event, text: "New Event") // < Xcode error...
}
Ошибка: введите 'SharedFunctions?'не имеет члена 'createEvent'
Я также попробовал следующее с ошибкой:
weak var delegate = SharedFunctions? // < Xcode error...
Ошибка: «слабый» может применяться только к классу и классусвязанные типы протоколов, а не 'SharedFunctions? .Type'
Я пытаюсь из моего класса SecondViewController вызвать функцию createEvent (), которая есть в моем классе FirstViewController.