ios - 从PFUser中提取用户详细信息不起作用: key “用户名”没有数据

标签 ios objective-c uitableview parse-platform

我有一个名为Messages的Parse.com类,其中有3列:

- fromUser - Pointer<_User>
- toUser - Pointer<_User>

在我的UITableView中,我正在检索Messages类中的所有对象,其中toUser等于PFUser currentUser。尝试将标签分配给fromUser时出现此错误:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Key "username" has no data.  Call fetchIfNeeded before getting its value.

这是查询的方式:
- (void)retriveMessages {
    PFQuery *query = [PFQuery queryWithClassName:@"Messages"];
    [query whereKey:@"toUser" equalTo:[PFUser currentUser]];
    [query orderByDescending:@"createdAt"];
    query.limit = 1000;
    [query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (error) {
            NSLog(@"Error: %@ %@", error, error.userInfo);
        } else {

            // Found messages!
            self.messages = objects;
            [self.tableView reloadData];
            [_message fetchIfNeeded];
            NSLog(@"Retrived %d messages", self.messages.count);
        }
    }];
}

这就是我尝试将标签分配给fromUser-row的方法,它是指向User类的指针:
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    MessageCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MessageCell" forIndexPath:indexPath];

    _message = [_messages objectAtIndex:indexPath.row];

    [_message fetchIfNeeded];

    PFUser *user = (PFUser*)[_message objectForKey:@"fromUser"];
    NSString *nameString = [user username];
    cell.nameLabel.text = nameString;

    cell.feedDelegate = self;

    return cell;
}

最佳答案

为了访问指向@“fromUser”的属性,必须在查找中热切地获取它。将此添加到查询中:

[query includeKey:@"fromUser"];

关于ios - 从PFUser中提取用户详细信息不起作用: key “用户名”没有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30332840/

相关文章:

ios - 根据相应表格单元格文本字段的更改更新表格 View 单元格的 subview

ios - 如何将分隔线添加到 UITableViewCell (Swift)

ios - 如何在tableView中隐藏indexPath处的分隔符?这意味着,删除特定的分隔符,而不是所有的分隔符

ios - 分段控制激活

android - 如何从其他文件 Dart 调用 setState

ios - 如何检测用户点击了 UIMenuController 中的格式化按钮?

ios - RestKit 在 POST 中改变根对象

ios - uitableview 单元格有一个横向分隔符

ios - 如果当前嵌套很深,如何返回根 ViewController?

objective-c - 通过指定类名从 NSArray 中检索对象