2016-08-11 42 views
0

你好我正在使用JSQMessagesViewcontroller來創建一個chatapp,我需要爲JSQMessages添加一個額外的屬性來給每個消息一個ID。我也需要重寫第一個便利的init使用此功能:繼承JSQMessages以添加messageID屬性

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

任何幫助將不勝感激。

+0

您面臨的問題是什麼?我怎麼幫你? –

回答

1

您需要做的就是將您的消息對象與'JSQMessageData'協議相匹配,然後您可以根據需要添加任意數量的自定義變量。我在這個問題中概述它。 https://stackoverflow.com/a/38884743/5894123