quickblox - 删除私人(1 对 1)聊天
Posted
技术标签:
【中文标题】quickblox - 删除私人(1 对 1)聊天【英文标题】:quickblox - remove private (1 to 1) chat 【发布时间】:2014-08-08 07:08:55 【问题描述】:大家好,首先对我的英语感到抱歉。其次,提前感谢您的回答。我已经能够使用以下方法检索当前登录用户对话框的列表:
[QBChat dialogsWithExtendedRequest:nil delegate:self];
和
if ([result isKindOfClass:[QBDialogsPagedResult class]] && result.success)
QBDialogsPagedResult *pagedResult = (QBDialogsPagedResult *)result;
NSArray *dials = pagedResult.dialogs;
self.dialogs = [dials mutableCopy];
...
我已经能够修改 type == QBChatDialogTypeGroup 的对话框,以便使用以下方法从中删除记录的用户 ID:
QBChatDialog *selectedDialog = self.dialogs[sender.tag];
if (selectedDialog.type == QBChatDialogTypeGroup)
NSMutableDictionary *extendedRequest = [NSMutableDictionary new];
extendedRequest[@"pull_all[occupants_ids][]"] = [NSString stringWithFormat:@"%ld",(unsigned long)self.logedUser.ID];
[QBChat updateDialogWithID:selectedDialog.ID extendedRequest:extendedRequest delegate:self];
这使得下次我向 QuickBlox 请求对话框列表时,除了刚刚“更新”的对话框列表之外,所有对话框列表都会被列出。问题是,如果我在 selectedDialog.type == QBChatDialogTypePrivate 时使用相同的“extendedRequest”请求,我总是从 QuickBlox 获得错误的许可。当我从 QuickBlox 请求对话框列表时,是否有使类型 == QBChatDialogTypePrivate 的对话框不会再次列出? 我希望一切都清楚。提前谢谢 =)
【问题讨论】:
【参考方案1】:您不能将 pull_all[occupants_ids][] 和 push_all[occupants_ids][] 用于私人对话,只能用于群组
通过私人对话,其中有 2 个用户 - 你和你的对手。而且您不能删除或添加其他任何人,因为这是私人聊天,而不是群聊
【讨论】:
你需要什么?移除住户或移除私人聊天? 实际上我使用以下方法从 quickblox 检索聊天对话框:[QBChat dialogsWithExtendedRequest:nil delegate:self];我在表格视图中显示它们。用户可以删除他/她想要的聊天似乎是合理的。当用户想要从 tableview 中删除群聊时,我使用 pull_all[occupants_ids][] 以及下一次 [QBChat dialogsWithExtendedRequest:nil delegate:self];被调用,群聊不被检索。当用户选择私人聊天时,我不知道该怎么办...... 伊戈尔有什么建议吗? NSString *dialogID = @"theChatDialogIDhere"; [QBChat deleteDialogWithID:dialogID delegate:self];【参考方案2】:要删除聊天对话框,
[QBChat deleteDialogWithID:dialogID delegate:self];
处理委托(符合QBActionStatusDelegate
)
- (void)completedWithResult:(QBResult *)result
if([result isKindOfClass:[QBChatDialogResult class]])
QBChatDialogResult *qbDialog = (QBChatDialogResult *)result;
if(qbDialog.success)
NSLog(@"Dialog has been deleted!");
else
NSLog(@"Uh no, something wrong!");
【讨论】:
以上是关于quickblox - 删除私人(1 对 1)聊天的主要内容,如果未能解决你的问题,请参考以下文章