如何从quickblox对话框iOS中删除聊天记录?

时间:2017-05-20 10:05:33

标签: ios objective-c chat quickblox

Quickblox iOS删除聊天记录

我已在我的应用程序中集成了Quickblox iOS(Objective-C)SDK用于聊天模块。

现在,我想清除在一个对话框下完成的所有聊天记录,

以下是从对话框中删除特定聊天消息的代码。但它并没有删除所有的聊天记录。

NSSet *mesagesIDs = [NSSet setWithObjects:@"560a7e8ba0eb472a6300004d", @"560a7e9ea28f9a0cda003018", nil];

[QBRequest deleteMessagesWithIDs:mesagesIDs forAllUsers:NO successBlock:^(QBResponse *response) {

} errorBlock:^(QBResponse *response) {

}];

如果有人为我的要求提供任何有效的解决方案,请帮助我。

提前致谢!

1 个答案:

答案 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)
})