大家好,首先抱歉我的英语。其次,提前感谢您的答案。我已经能够使用以下方法检索当前的用户对话框列表:
[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请求对话列表时,所有这些除了刚刚更新的#34;列出来。问题是,如果我使用相同的" extendedRequest" selectDialog.type == QBChatDialogTypePrivate时的请求我总是得到QuickBlox的错误权限。无论如何,当我从QuickBlox请求对话框列表时,使用type == QBChatDialogTypePrivate的对话框不会再次列出??? 我希望一切都清楚。 Thx提前=)
答案 0 :(得分:2)
您不能将 pull_all [occupants_ids] [] 和 push_all [occupants_ids] [] 用于私人对话,仅适用于群组
私人对话中有2个用户 - 你和你的对手。并且您无法删除或添加任何其他人,因为它是私人聊天,而不是群聊
答案 1 :(得分:0)
要删除聊天对话框,
[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!");
}
}
}