Невозможно вызвать инициализатор для типа «Сообщение» со списком аргументов. - PullRequest
0 голосов
/ 06 февраля 2020

Я внедряю MessageKit в свой проект. Я использую учебник Рэя Вендерлиха. В настоящее время я получаю следующие 2 ошибки:

Невозможно вызвать инициализатор для типа «Сообщение» со списком аргументов типа «(sender: (SenderType), senderId: (String), messageId: String , member: String, id: String, content: String, messagedata: String, sentDate: (Date), id: String?) '

  1. Существуют перегрузки для' 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
      }



    }
...