问题描述
我们正在执行的流程非常简单。 首先固定一个项目:
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中存在一些错误?
1楼
离开 。
您可能需要这样做:
object.unpinInBackground("Object Name", new DeleteCallback() {
public void done(ParseException e) {
if (e == null) {
// successful
}
else {
// unsuccessful
}
}
});
您需要指定要取消固定的对象的名称。
2楼
您不能取消固定具有引用对象的对象
可能您有另一个对象,该对象具有要删除的对象的引用。
因此,您必须先删除那些。
3楼
对我来说,答案是我调用了saveEventually()。 当使用saveEventually()时,问题是直到我们在线之前对象才能消失。 但是,然后对象飞到服务器-将不会被删除。