你好我正在使用 JSQMessagesViewcontroller 制作一个聊天应用程序,我需要向 JSQMessages 添加一个额外的属性来为每条消息提供一个 ID。而且我还需要覆盖第一个方便的 init 来使用这个函数:
self.JSQmessages.append(JSQCell(senderId: self.senderId,displayName: self.senderDisplayName, text: message.text))
这是他们的消息单元格的样子
public class JSQMessage : NSObject, JSQMessageData, NSCoding, NSCopying {
public var senderId: String! { get }
public var senderDisplayName: String! { get }
@NSCopying public var date: NSDate! { get }
public var isMediaMessage: Bool { get }
public var text: String! { get }
@NSCopying public var media: JSQMessageMediaData! { get }
public convenience init!(senderId: String!, displayName: String!, text: String!)
public init!(senderId: String!, senderDisplayName: String!, date: NSDate!, text: String!)
public convenience init!(senderId: String!, displayName: String!, media: JSQMessageMediaData!)
public init!(senderId: String!, senderDisplayName: String!, date: NSDate!, media: JSQMessageMediaData!)
}
我试过子类化,但我对 ios 开发真的很陌生,永远做不好。这是我目前所拥有的。
class JSQCell : JSQMessage {
var MessageId: String?
required init(senderId: String!, displayName: String!, text: String!, MessageId: String!)
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
如有任何帮助,我们将不胜感激。
最佳答案
您需要做的就是让您的消息对象符合“JSQMessageData”协议(protocol),然后您可以添加任意数量的自定义变量。我在这个问题中概述了它。 https://stackoverflow.com/a/38884743/5894123
关于ios - 子类化 JSQMessages 以添加 messageID 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38886712/