Хорошо, так что в основном я следую учебнику по udemy о том, как создать чат с Backendless и Firebase. Тем не менее, я предпочитаю не использовать Backendless, потому что я не хочу полагаться на 2 провайдера - поэтому я хочу придерживаться только Firebase. Поэтому в настоящее время я конвертирую свой код в Firebase.странная дополнительная ошибка в Swift
У меня есть контроллер вида, который отображает уникальную страницу для каждого UID - из базы данных, которая у меня есть. UID хранится как String
и назначается по отдельности из другого контроллера табличного представления (это отлично работает). После этого я получаю данные, которые я хочу от пользователя, с UID. У меня есть кнопка «Начать чат», которая должна создать новый чат.
В этом уроке преподаватель установил протокол (делегат), который запускает другую функцию с другого контроллера вида. Это то, что он выглядит следующим образом:
protocol ChooseUserDelegate {
func createChatroom(withUser: String)
}
var delegate: ChooseUserDelegate!
и в моем чате @IBAction
, у меня есть этот код: (. Приведенный выше код является все в том же ВК)
@IBAction func StartChat(sender: AnyObject) {
let userID = uid
if let theId = userID as? String {
delegate.createChat(String(theId))
}
}
.
В другом контроллере представления, где функция createChat()
хранится, следующий код:
class AnotherVC UIViewController, UITableViewDelegate, UITableViewDataSource, ChooseUserDelegate{
func createChat(withUser: String) {
print(withUser)
}
}
Проблема заключается в том, что я не могу назвать createChat()
, из-за дополнительную ошибкой (разворачивая) на delegate.createChat(String(theId))
.
Редактировать: Даже с «" входным сигналом я получаю сообщение об ошибке. Я действительно запутался. Что-то не так с моим делегатом?
Проверьте объявление переменной делегата. –
@RohitKP Насколько я знаю, это правильно. Я могу обновить свой пост с большим количеством кода. – askaale
Не могли бы вы отформатировать свой вопрос, чтобы сделать его разборчивым? – matt