当前位置: 代码迷 >> java >> Parse.com unpinInBackground不起作用
  详细解决方案

Parse.com unpinInBackground不起作用

热度:56   发布时间:2023-07-25 19:43:10.0

我们正在执行的流程非常简单。 首先固定一个项目:

 object.pinInBackground(new SaveCallback() {
         @Override
         public void done(ParseException e) {
                if (e == null) {
                    // success
                } else {
                    // error
                }
          }
 });

然后稍后取消固定:

object.unpinInBackground(new DeleteCallback() {
    @Override
    public void done(ParseException e) {
          mObjects.remove(object);
          mObjectsAdapter.notifyDataSetChanged();
    }
});

但! 当我检查本地数据存储时,如下所示:

ParseQuery<Object> query = ParseQuery.getQuery("Object");
query.fromLocalDatastore().findInBackground(new FindCallback<Object>() {
        @Override
        public void done(List<Object> objects, ParseException e) {
                // list of object contains the unpined object!
        }
});

对象列表包含之前所有未固定的对象!

这是我做错了,不理解还是在Parse.com中存在一些错误?

离开 。

您可能需要这样做:

object.unpinInBackground("Object Name", new DeleteCallback() {
    public void done(ParseException e) {
        if (e == null) {
            // successful
        } 
        else {
            // unsuccessful
        }
    }
 });

您需要指定要取消固定的对象的名称。

您不能取消固定具有引用对象的对象

可能您有另一个对象,该对象具有要删除的对象的引用。

因此,您必须先删除那些。

对我来说,答案是我调用了saveEventually()。 当使用saveEventually()时,问题是直到我们在线之前对象才能消失。 但是,然后对象飞到服务器-将不会被删除。

  相关解决方案