从 PFUser 中提取用户详细信息不工作:密钥"username"没有数据



我有一个parse.com类,称为消息,其中我有3列:

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

在我的uitableview中,我在消息类中检索所有对象,其中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的方式,这是指向用户类的指针:

-(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;
}

为了访问指向 @ @" frofuser"的属性,您必须热切地在查找中获取它。将其添加到查询中:

[query includeKey:@"fromUser"];

最新更新