我已在我的应用程序中集成了Quickblox iOS(Objective-C)SDK用于聊天模块。
现在,我想清除在一个对话框下完成的所有聊天记录,
以下是从对话框中删除特定聊天消息的代码。但它并没有删除所有的聊天记录。
NSSet *mesagesIDs = [NSSet setWithObjects:@"560a7e8ba0eb472a6300004d", @"560a7e9ea28f9a0cda003018", nil];
[QBRequest deleteMessagesWithIDs:mesagesIDs forAllUsers:NO successBlock:^(QBResponse *response) {
} errorBlock:^(QBResponse *response) {
}];
如果有人为我的要求提供任何有效的解决方案,请帮助我。
提前致谢!
答案 0 :(得分:0)
您可以从QBChatDialog获取要删除的对话框ID。
Objective-C版
- (void)deleteDialogWithID:(NSString *)dialogID {
__weak __typeof(self) weakSelf = self;
// Deleting dialog from Quickblox and cache.
[ServicesManager.instance.chatService deleteDialogWithID:dialogID completion:^(QBResponse *response) {
if (response.success) {
__typeof(self) strongSelf = weakSelf;
[strongSelf.tableView reloadData];
[SVProgressHUD dismiss];
} else {
[SVProgressHUD showErrorWithStatus:@"Can not delete dialog"];
NSLog(@"can not delete dialog: %@", response.error);
}
}];
}
Swift版
// Deletes dialog from server and cache.
ServicesManager.instance().chatService.deleteDialog(withID: dialog.id!, completion: { (response) -> Void in
guard response.isSuccess else {
SVProgressHUD.showError(withStatus: "SA_STR_ERROR_DELETING".localized)
print(response.error?.error)
return
}
SVProgressHUD.showSuccess(withStatus: "SA_STR_DELETED".localized)
})