如何从快速布洛克斯对话框iOS中删除聊天记录



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) {
}];

如果有人对我的要求有任何可行的解决方案,请帮助我。

提前感谢!

您可以从 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);
       }
   }];
}

迅捷版

// 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)
})

最新更新