我们正在实施非常简单的流程。首先固定一个项目:
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中有一些错误?
答案 0 :(得分:0)
离开this。
您可能需要这样做:
object.unpinInBackground("Object Name", new DeleteCallback() {
public void done(ParseException e) {
if (e == null) {
// successful
}
else {
// unsuccessful
}
}
});
您需要指定要尝试取消固定的对象的名称。
答案 1 :(得分:0)
您无法取消固定具有引用对象的对象
可能你有另一个对象,它引用了你想要删除的对象。
所以你必须先删除它们。
答案 2 :(得分:0)
对我来说,答案是我调用了saveEventually()。 当使用saveEventually()问题是对象不能消失,直到我们将在线。但随后对象飞到服务器 - 将不会被删除。