我的 [PFUser currentUser] 中有一个指向对象的指针,当我尝试访问该对象内部的值时,我得到了内部 ObjC 异常断点
。
这是我的代码:
PFObject *object = [PFUser currentUser][@"localityData"];
NSString *value = [object objectForKey:@"language"];
我在第二行收到错误。
另外,除非我这样做
[[PFUser currentUser] fetchInBackgroundWithBlock:^(PFObject *object, NSError *error) { ...
每次我要求
[[PFUser currentUser] objectWithKey:@"SOMEKEY"]
我得到 nil
作为返回,为什么会这样?
最佳答案
Parse 不会自动为您获取,特定情况下的一些数据除外。例如,当用户登录时将获取当前用户并将包含标准用户数据 - 但它不会包含任何自定义数据。
如果您获取一个对象,那么将下载该对象的详细信息,但不会下载相关对象的详细信息 - 除非您明确要求将其包含在您进行的查询中(使用 includeKey:
).
如果您不确定是否已获得所需数据,通常最好始终使用 fetchIfNeededInBackgroundWithBlock:
。不这样做应该不会导致崩溃,但通常会导致您出现信息丢失的问题。崩溃可能与在框架中使用异常导航进行解析有关,但这是一个猜测,您可能想尝试联系解析以查看是否可以获得更多详细信息。
关于ios - 解析不返回 PFObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28793773/