在Parse.com中从用户类中删除对象

Pet*_*ter 1 ios parse-platform pfquery

我正在尝试从imageOneParse.com中的列中删除连接到当前用户的图像.来自用户类.

PFQuery *query = [PFUser query];
[query selectKeys:@[@"imageOne"]];
[query getObjectInBackgroundWithId:[[PFUser currentUser] objectId] block:^(PFObject *object, NSError *error) {
    if (!error) {
        [object deleteInBackground];
    }
}];
Run Code Online (Sandbox Code Playgroud)

我的代码不起作用,控制台记录此错误"User cannot be deleted unless they have been authenticated via logIn or signUp".

我怎样才能解决这个问题?

似乎问题来自于对象(图像)来自用户类的事实,我是对的吗?

Tim*_*ers 9

为什么要对所有用户进行查询,然后仅针对当前用户进行删除,这是构建查询的最糟糕方式(并且最有可能失败).

如果当前用户不在返回的前100个中,则上述代码将永远不会找到匹配项.

这种查询应该使用getObjectInBackgroundWithId:block:,但在当前用户已经拥有该对象的情况下,只需执行以下操作:

[[PFUser currentUser] deleteInBackground];
Run Code Online (Sandbox Code Playgroud)

如果您只想删除列中的信息,请使用以下命令:

PFUser *currentUser = [PFUser currentUser];
[currentUser removeObjectForKey:@"imageOne"];
[currentUser saveInBackground];
Run Code Online (Sandbox Code Playgroud)