1

this is my first time with MessageKit. I am trying out an example I found online. I am getting this error - "Inheritance from non-protocol type 'MessageType'" when trying to extend MessageType. I am using MessageKit 2.0.0, Swift 4.2 and iOS version 10. Here's the code:

import Foundation
import UIKit
import MessageKit

struct Member {
let name: String
let color: UIColor
}

struct Message {
let member: Member
let text: String
let messageId: String
}

extension Message: MessageType {
var sender: Sender {
return Sender(id: member.name, displayName: member.name)
}

1 Answers1

2

A bit late but here is a way to implement a custom model for your cell model:

enum MessageState: Int {
    case sent
    case sending
    case error
    case unknown
}

struct ChannelCollectionViewCellViewModel: MessageType {
    var sender: SenderType
    var messageId: String
    var sentDate: Date
    var kind: MessageKind
    var state: MessageState
}

PS: I added a MessageState enum in case you wanted to distinguish states.

AntoineP
  • 25
  • 1
  • 6