gpt4 book ai didi

ios - 不能添加有 parent 的 child ;先分离或复制

转载 作者:行者123 更新时间:2023-11-29 11:53:37 24 4
gpt4 key购买 nike

我有一个聊天应用程序,当我阻止他时,我使用以下代码为 session 伙伴创建固定消息:

 NSString *deliveryMessage = [NSString stringWithFormat:@"{ \"sender\":\"%@\", \"senderUserName\":\"%@\", \"groupId\":\"%@\", \"messageType\":\"%@\"}", [USER_DEFAULT valueForKey:WA_USER_ID_KEY], [USER_DEFAULT valueForKey:WA_USER_NAME_KEY], stringId, @"block"];
NSString *recieverJid = [NSString stringWithFormat:@"%@@%@/%@", stringId ,CHAT_SERVER_ADDRESS,CHAT_SERVER_ADDRESS];

NSString *senderJid = [NSString stringWithFormat:@"%@@%@/%@",MY_USER_NAME,CHAT_SERVER_ADDRESS,CHAT_SERVER_ADDRESS];

NSXMLElement *body = [[NSXMLElement alloc]initWithName:@"body"];
[body setStringValue:deliveryMessage];

NSXMLElement *message = [NSXMLElement elementWithName:@"message"];

[message addAttributeWithName:@"type" stringValue:@"chat"];//@"chat"
[message addAttributeWithName:@"from" stringValue:senderJid];
[message addAttributeWithName:@"to" stringValue:recieverJid];
[message addChild:[body copy]];

[xmppStream sendElement:message];

它总是因错误而崩溃:无法添加具有父项的子项;先分离或复制

我使用相同的代码在用户之间和其他 future 发送消息。始终有效,但此处无效。

有什么想法吗?谢谢!

编辑!!我的问题是因为接收方被 XMPPPrivacy 阻止了。所以我不能给他发消息。在我删除隐私后,所有的工作都重新开始了。

如果有人遇到同样的问题,请检查接收器是否被阻止。

感谢大家!!!

最佳答案

在我看来这是一个错误。 [message addChild:[body copy]]; 应该可以避免该错误。

也许这个小技巧可以奏效:

创建您 body 的副本:

NSXMLElement *copy = [body copy];

然后将副本的父级设置为 nil,并使用 [body copy] 替换为 copy

关于ios - 不能添加有 parent 的 child ;先分离或复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40039767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com