**编辑:抱歉,我不得不编辑我的问题以清除其他用户,所以我删除了所有内容。
所以我设法在解析的一个表中的两个用户之间建立某种关系,这就是它的样子:
我的课程是NewChat和用户' XcnKqF0tmO'是我的当前用户。 我试图创建一个查询来接收来自另一个名为phoneNumber的类的文本(文本是:hello):
你可以看到接收器' T9kDJwePc' (在第一张图片上)是相同的用户' ZZ6mRK ..' (在第二张照片上。 我想要做的是从发件人创建一个查询' XcnKqf0tmO' (第1张图片)到T9kPDJwePc实际上(如果我点击接收者姓名)是ZZ6MRKr5J1并获取文字 "你好"进入我的TextField。我尝试了以下没有工作的组合:
PFQuery *newOne = [PFQuery queryWithClassName:@"NewChat"];
// [newOne includeKey:@"reciever"]; <--- i tried with this line and with it
[newOne whereKey:@"sender" equalTo:[PFUser currentUser]];
PFQuery *phoneNumber = [PFQuery queryWithClassName:@"phoneNumber"];
[phoneNumber whereKey:@"objectId" matchesKey:@"reciever" inQuery:newOne];
[phoneNumber findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
NSLog(@" object %@", objects);
}];
我的查询返回没有结果,我的NSLOG显示:&#34; object()&#34;。 为什么我没有结果?因为第一张图像上的接收者名称和第二张图像上的对象ID相等......
答案 0 :(得分:1)
问题是第一张图片上的指针nrlsl9lkvt
不是指向带有testing123文本的记录,而是指向下面的记录。带有testing123文本的phoneNumber记录有objectId o5igPWMaat,而不是nrlsl9lkvt。
您可以通过查询NewChat对象来获取文本并使用
[query includeKey:@"receiver"];
确保也下载phoneNumber对象。只需在phoneNumber中的右侧对象中添加文本,即可完成所有设置
<强>更新强>
自编辑问题以来:
您的查询应该返回您想要的对象(使用objectId T9kPD ...)。你有没有尝试我建议的日志声明? NSLog(@"objects: %d", [objects count]);
获取所需的文字:
PFObject *object = [objects lastObject]; // Since your query should return only 1 object
NSLog(object[@"text"]); // The "text" property of the object returned
如果您只对一个对象感兴趣(如上所述),或者知道只有一个对象,则应该使用getFirstObjectInBackgroundWithBlock
:而不是findObjectsInBackground...
。这将返回一个对象而不是数组,并且无需调用[objects lastObject];