Las etiquetas de argumento no coinciden con ninguna sobrecarga disponible

Estoy trabajando en una aplicación de mensajería usando JSQMessagesViewController, y quiero asociar otra variable, un número enteroscore, con cada mensaje (junto con los valores predeterminados comosenderID, textydisplayName) Así es como intento implementar esto:

func addMessage(id: String, text: String, displayName: String, score: Int) {

    // Make sure the character count is between 10 and 140, then add message to message list to display
    if (text.characters.count <= 10 || text.characters.count >= 140) {

    }
    else {
        let message = JSQMessage(senderId: id, displayName: displayName, text: text, score: score)
        messages.append(message)
    }

}

Sin embargo, recibo el siguiente mensaje de error:

Argument labels '(senderId:, displayName:, text:, score:)' do not match any available overloads

Solo puedo suponer que esto se debe a que hay una definición preestablecida de qué datos puede contener el objeto JSQMessage, no estoy seguro de cómo anularlo para poder asociar una variable adicional con mis mensajes.

Nota: Traté de cambiar directamente el código en el marco JSQMessagesViewController (dentro delJSQMessage.h yJSQMessage.m archivos) para agregar una variable adicional, pero esto solo causa más errores y me temo que estropearé algo.

¿Alguna solución?

Gracias por adelantado.

EDITAR

¡Creo que descubrí cómo hacerlo! `import UIKit import JSQMessagesViewController

clase CustomMessage: JSQMessage {puntaje var: Int

init(senderId:String, displayName:String, text:String, score:Int) {
    self.score = score
    super.init(senderId:senderId, displayName:displayName, text:text)
}

required init?(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

} `

Sin embargo, ahora recibo un error despuéssuper.init como tal:must call a designated initializer of the superclass 'JSQMessage'

Respuestas a la pregunta(1)

Su respuesta a la pregunta