Я внедряю MessageKit в свой проект. Я использую учебник Рэя Вендерлиха. В настоящее время я получаю следующие 2 ошибки:
Невозможно вызвать инициализатор для типа «Сообщение» со списком аргументов типа «(sender: (SenderType), senderId: (String), messageId: String , member: String, id: String, content: String, messagedata: String, sentDate: (Date), id: String?) '
- Существуют перегрузки для' Message 'с этими частично совпадающими списками параметров : (сообщение: Отправитель, содержимое: строка), (сообщение: Отправитель, изображение: UIImage)
Ошибка возникает в следующей строке:
let newMessage = Message(
sender: (sender as? SenderType), senderId: (sid as? String),
messageId: uuid ,
member: member , id: message_id,
content: text,
messagedata: text,
sentDate: (date as? Date))
Я попытался изменить список аргументов, но не могу понять, что я делаю неправильно. Ниже мой файл Message.Swift с определениями структуры.
internal struct Message: MessageType {
var sender: SenderType
var senderId: String
var messageId: String
var member: String
var id: String?
var content: String
let sentDate: Date
var messagedata: MessageKind {
if let image = image {
return .photo((image as? MediaItem)!)
} else {
return .text(content)
}
}
var image: UIImage? = nil
var downloadURL: URL? = nil
init(messageuser: Sender, content: String) {
sender = Sender(id: meid, displayName: AppSettings.displayName)
self.content = content
sentDate = Date()
id = nil
self.senderId = meid
self.messageId = uuid
self.member = me
}
init(messageuser: Sender, image: UIImage) {
sender = Sender(id: meid, displayName: AppSettings.displayName)
self.image = image
content = ""
sentDate = Date()
id = nil
self.senderId = meid
self.messageId = uuid
self.member = me
}
}