【问题标题】:Messagekit - issue with extending MessageTypeMessagekit - 扩展 MessageType 的问题
【发布时间】:2019-02-21 13:18:30
【问题描述】:

这是我第一次使用 MessageKit。我正在尝试一个我在网上找到的例子。尝试扩展 MessageType 时出现此错误 - “继承自非协议类型‘MessageType’”。 我正在使用 MessageKit 2.0.0、Swift 4.2 和 iOS 版本 10。 代码如下:

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

【问题讨论】:

  • 这是一个非常明确的消息:“继承自非协议类型'MessageType'”
  • 你能详细说明吗?
  • 而且是协议类型。

标签: swift messagekit


【解决方案1】:

有点晚了,但这里有一种为您的单元模型实现自定义模型的方法:

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:如果你想区分状态,我添加了一个 MessageState 枚举。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 2017-10-13
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    相关资源
    最近更新 更多