2016-08-11 2 views
0

привет Я использую JSQMessagesViewcontroller для создания chatapp, мне нужно добавить дополнительное свойство JSQMessages, чтобы дать каждому сообщению ID. и я также необходимо переопределить первый удобство инициализации, чтобы использовать эту функцию:Подкласс 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!) 
 
}

Я попытался подклассов, но я m очень новый для развития 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