Raghavendra Reddy
Raghavendra Reddy

Reputation: 11

Messagekit - issue with extending MessageType

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)
}

Upvotes: 1

Views: 436

Answers (1)

AntoineP
AntoineP

Reputation: 25

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.

Upvotes: 2

Related Questions