我在离线时更新当前用户保存的阵列时遇到问题。虽然在线它可以很好地工作,但当我离线时它会给我一个错误,说你不能在上一次操作后这样做。
我尝试使用固定和保存最终,但都没有奏效。 谢谢你的帮助
if(isConnected()) {
ParseUser.getCurrentUser().saveInBackground();
ParseUser.getCurrentUser().removeAll("Courses", courses);
ParseUser.getCurrentUser().saveInBackground();
ParseUser.getCurrentUser().addAllUnique("Courses", courses);
ParseUser.getCurrentUser().saveInBackground();
}else{
ParseUser.getCurrentUser().pinInBackground();
ParseUser.getCurrentUser().removeAll("Courses", courses);
ParseUser.getCurrentUser().pinInBackground();
ParseUser.getCurrentUser().addAllUnique("Courses", courses);
ParseUser.getCurrentUser().pinInBackground();
ParseUser.getCurrentUser().saveEventually();
}
答案 0 :(得分:1)
我认为您的问题可能来自以下两行:
ParseUser.getCurrentUser().pinInBackground();
ParseUser.getCurrentUser().saveEventually();
在文档中,它说.saveEventually()
将对象固定在后台,直到网络可用。所以我认为你可以省略
ParseUser.getCurrentUser().pinInBackground();
行,因为saveEventually()
方法会固定它。希望这会有所帮助。