Quickblox:是不是可以删除用户创建的所有自定义对象

Posted

技术标签:

【中文标题】Quickblox:是不是可以删除用户创建的所有自定义对象【英文标题】:Quickblox: Is it possible to delete all custom objects created by the userQuickblox:是否可以删除用户创建的所有自定义对象 【发布时间】:2013-12-12 13:01:49 【问题描述】:

是否可以通过一次 API 调用删除当前用户的所有特定类的自定义对象?

调用可能是这样的:

[QBCustomObjects deleteObjectsForClassName:@"ClassName" delegate:self];

当用户想要删除他/她的帐户或想要删除他为特定类创建的所有条目时,这将很有用。

此外,如果应用程序由于任何原因丢失了删除单个对象所需的类 ID,这将是有益的。然后,这将删除在开始单独删除它们之前首先获取所有类 ID 的额外步骤。

请让我知道这是否可行,但我遗漏了一些东西。任何关于如何以最有效的方式在带宽和 API 使用方面做到这一点的提示都非常感谢。

提前致谢!

(我正在使用 Quickblox ios SDK:具有最新 git 提交的版本:2013 年 11 月 27 日星期三 18:52:20)

【问题讨论】:

【参考方案1】:

您可以通过 3 个步骤删除特定类的所有对象:

1) 通过 QBCustomObjects 类检索所有对象:

objectsWithClassName:extendedRequest:delegate:

2) 创建数组,循环遍历所有项目并收集它们的项目 ID。

3) 通过 QBCustomObjects 类执行删除(并传递 ID 数组)

deleteObjectsWithIDs:className:delegate:

(有关如何使用此方法的更多详细信息,请查看此http://sdk.quickblox.com/ios/Classes/QBCustomObjects.html

PS:不知道,可能以后SDK会出现这个功能。

【讨论】:

这是真正的解决方案。实际上只有记录的所有者才能删除他的记录。其他用户做不到。这就是为什么 QuickBlox 不提供 [QBCustomObjects deleteObjectsForClassName:@"ClassName" delegate:self];现在方法。 感谢@frankWhite 的回复!这是我目前所做的过程,以防我必须清理所有项目,此外还要为多个类的用户单独存储所有类 ID。我只是想知道它是否可以变得更容易,因为这效率低下(许多 API 来回调用,尤其是在对大量项目使用分页时)以及执行简单数据库操作的复杂方式。 感谢@Igor 的评论。提供操作以简单地删除特定类的所有者的所有记录是否仍然有用?我同意它不必提供删除其他用户记录的方法。 是的,QuickBlox 团队正在考虑。就像使用过滤器删除一样。 很高兴听到!顺便说一句,此功能可以使您与其他类似服务(例如 Parse)形成积极的区别(上次我检查时,他们也没有提供这种方法。我可能想错了)。

以上是关于Quickblox:是不是可以删除用户创建的所有自定义对象的主要内容,如果未能解决你的问题,请参考以下文章

iOS QuickBlox SDK 按用户 ID 过滤自定义对象

QuickBlox 自定义对象权限

Quickblox:使用自定义对象登录 (Android)

如何在 Quickblox 中删除聊天用户?

如何清除 Quickblox 中的聊天记录?

从服务器获取所有 Quickblox 组列表