使用可能な任意の過負荷を一致していない、と私は(displayName
を、このようなsenderID
、text
としてデフォルト値と一緒に、と)それぞれのメッセージを持つ別の変数、整数score
を関連付けます。これは、私はこれを実装しようとする方法:私は次のエラーメッセージ取得していますが引数ラベルは、私がJSQMessagesViewControllerを使用して、メッセージングアプリに取り組んでいます
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)
}
}
を:
Argument labels '(senderId:, displayName:, text:, score:)' do not match any available overloads
を私はいくつかの事前設定の定義として存在しているためであると仮定することができますJSQMessageオブジェクトが保持できるデータには、メッセージに追加の変数を関連付けるためにオーバーライドする方法が不明です。
注:私は直接、余分な変数を追加する(JSQMessage.h
とJSQMessage.m
ファイル内)JSQMessagesViewControllerフレームワーク自体にコードを変更しようとしましたが、これはちょうどより多くのエラーが発生すると、私は混乱何かアップだろうかと思います。
すべてのソリューションはありますか?
ありがとうございます。
EDIT
は、私はそれを行う方法を考え出したと思います! `輸入のUIKit インポートJSQMessagesViewController
クラスCUSTOMMESSAGE:JSQMessage { する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")
}
}`しかし
私は今のようなsuper.init
後にエラーを取得しています:must call a designated initializer of the superclass 'JSQMessage'
私は私の質問にした編集をチェックアウトできますか?私はほとんどそれを持っていると思う、私はちょうど小さなエラーを取得しています。あなたが素晴らしい方法で素晴らしい助けをありがとう! –
ちょうどあなたが私の編集を見て、それが助けられたかどうかをチェックしています。 –
編集ありがとう –