我正在尝试从Parse.com的imageOne
列中删除连接到当前用户的图像。来自用户类。
PFQuery *query = [PFUser query];
[query selectKeys:@[@"imageOne"]];
[query getObjectInBackgroundWithId:[[PFUser currentUser] objectId] block:^(PFObject *object, NSError *error) {
if (!error) {
[object deleteInBackground];
}
}];
我的代码不起作用,控制台记录了此错误
"User cannot be deleted unless they have been authenticated via logIn or signUp"
。我怎样才能解决这个问题?
问题似乎来自对象(图像)来自用户类的事实,对吗?
最佳答案
为什么要对所有用户执行查询,然后仅对当前用户执行删除操作,这是构造查询的最坏方法(而且很可能失败)。
如果当前用户不在前100名中,则您上面的代码将永远找不到匹配项。
相反,应使用getObjectInBackgroundWithId:block:
进行这种查询,但是对于当前用户,您已经拥有该对象,只需执行以下操作:
[[PFUser currentUser] deleteInBackground];
相反,如果您只想删除列中的信息,请使用以下命令:
PFUser *currentUser = [PFUser currentUser];
[currentUser removeObjectForKey:@"imageOne"];
[currentUser saveInBackground];
关于ios - 从Parse.com中的用户类删除对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25352791/