【问题标题】:Subclassing JSQMessages to add a messageID property子类化 JSQMessages 以添加 messageID 属性
【发布时间】:2016-08-11 03:19:36
【问题描述】:

你好,我正在使用 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")
}

任何帮助将不胜感激。

【问题讨论】:

  • 您面临的问题是什么?有什么可以帮助你的吗?

标签: ios swift jsqmessagesviewcontroller


【解决方案1】:

您需要做的就是使您的消息对象符合“JSQMessageData”协议,然后您可以添加任意数量的自定义变量。我在这个问题中概述了它。 https://stackoverflow.com/a/38884743/5894123

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2021-01-16
    • 2011-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多