我正在尝试获取与我的用户对象相关的对象。我尝试了很多方法......
这个获取用户对象,但我没有获得声誉对象。
PFuserProfile = [PFQuery getUserObjectWithId:userObj];
PFuserRep = PFuserProfile[@"reputation"];
这个我在最后一行有错误。
PFQuery *query = [PFUser query];
[query whereKey:@"objectId" equalTo:userObj];
[testQuery includeKey:@"reputation"];
NSArray *wtf = [query findObjects];
PFuserProfile = [wtf indexOfObject:0];
我尝试了其他一些方法,但不确定最好的方法,我无法让它们中的任何一种工作......这是最后一个我设置错误的方法轮廓。
[query whereKey:@"objectId" equalTo:userObj];
[query includeKey:@"reputation"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if(!error){
PFuserProfile = [objects indexOfObject:objects.firstObject];
}
}];
谢谢。
答案 0 :(得分:1)
确保从词典中选择对象时使用:objectAtIndex:
因此,您需要将代码更新为以下
PFQuery *query = [PFUser query];
[query whereKey:@"objectId" equalTo:userObj];
[testQuery includeKey:@"reputation"];
NSArray *wtf = [query findObjects];
PFuserProfile = [wtf objectAtIndex:0];
更好的是,因为您可以使用objectAtIndex:
获得越界异常,您可以将最后一行替换为:
PFuserProfile = [wtf firstObject];
如果查询没有返回任何对象,这不会导致应用程序崩溃。