【发布时间】:2014-10-02 21:22:45
【问题描述】:
我正在使用 XMPPFramework 编写一个 iOS 聊天应用程序,我想知道创建新消息的最佳方法是什么,以便我可以将在一个委托方法中返回的 XMPPMessage 映射回原始消息,即发送。我想这样做,以便我可以判断何时发送消息成功或不成功(以便我可以缓存并重新发送它)。
当用户点击客户端上的发送键时,会调用以下代码来创建和发送消息:
NSXMLElement *body = [NSXMLElement elementWithName:@"body"];
[body setStringValue:messageText];
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:recipientJID];
[message addChild:body];
[[self xmppStream] sendElement:message];
然后我将内容、收件人、时间戳等存储到数组中的自定义对象(基本上是message 中的所有内容)中。
我希望能够将数组中的对象与以下任一委托方法中返回的 XMPPMessage 对象匹配:
- (void)xmppStream:(XMPPStream *)sender didFailToSendMessage:(XMPPMessage *)message error:(NSError *)error
{
}
- (void)xmppStream:(XMPPStream *)sender didSendMessage:(XMPPMessage *)message
{
}
是否有一个属性,我可以在通过XMPPStream 发送的message 变量中添加某种唯一标识符,然后该属性将显示在传递给这些委托方法的XMPPMessage 中?
【问题讨论】:
标签: ios objective-c xmpp xmppframework