1

メッセージを送信したいのですが、経由で送信されることがわかっています

override func didPressSendButton(button: UIButton!, withMessageText text: String!, senderId: String!, senderDisplayName: String!, date: NSDate!) {
    let message = JSQMessage(senderId: "alizade@my.co", senderDisplayName: "The Flash", date: NSDate(), text: text)

// SENDING CODE HERE
}

この機能ですが、送信ボタンを押して送信する方法がわかりません。

私はこの例を検索して見つけました:

OneMessage.sendMessage(text, to: recipient.jidStr, completionHandler: { (stream, message) -> Void in
    JSQSystemSoundPlayer.jsq_playMessageSentSound()
        self.finishSendingMessageAnimated(true)
    })

しかし、私の場合は .sendMessage メソッドがありません。助言がありますか?

4

2 に答える 2

0

sendMessage は、フレームワーク自体の外で記述された単なる関数であり、JSQMessagesViewController のサブクラスにあると推測しています。didPressSendButton 内で実行するロジックは、引き続き起動する必要があります。

于 2015-09-06T05:16:35.800 に答える
0

JSQMessagesViewController のデータソースに配列を使用している場合は、(JSQMessage 型の) メッセージを配列に追加し、呼び出しself.finishSendingMessageAnimated(true)て更新とアニメーションをトリガーするだけです。

コア データを使用している場合は、メッセージをデータベースに保存し、NSFetchedResultsController に依存して更新をトリガーするcontrollerDidChangeContentか、他のコールバック メソッドを使用する必要があります。

XMPPFramework を使用しているため、メッセージ xml 要素を作成し、XMPPStream を使用して送信することもできます。

それが役立つことを願っています!

于 2015-10-12T09:28:20.473 に答える