Parse.com IOS,无法获取指向PFUser的指针
问题描述:
我正在关注Parse.com上的教程,但我似乎无法正常工作。这是我的问题。Parse.com IOS,无法获取指向PFUser的指针
我有一个名为Questions
的类和类型为PFUser的类_User
(它在类名旁边有一个图片图标)。用户通过FB登录并注册为_User
。我可以在_User
课上看到我自己。
我提出了一个问题,我在Question
类中有一个字段,名字为qOwner
,它是Question的所有者。
QuestionCard[@"qOwner"] = [PFUser currentUser];
我可以看到自己的objectId
在_User
是qOwner
列中的数值,在一行成为当前的问题:通过这样的iOS应用程序保存在一个新的问题,这是被设置。
问题是,我无法找回我的应用程序内的值。如果我放置在正确的位置的下面:
PFQuery *query = [PFQuery queryWithClassName:@"Questions"];
[query addAscendingOrder:@"createdAt"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
// The find succeeded.
NSLog(@"@@@ : Successfully retrieved %lu questions ", (unsigned long)objects.count);
// Do something with the found objects
NSLog(@"%@",objects);
// fetched data are PFObjects
// we need to convert that into a YesOrNo object
// and then add it to _cards array
for (PFObject *object in objects) {
NSLog(@"currentUser : %@",[PFUser currentUser]);
PFUser *qOwnerUser = [object objectForKey:@"qOwner"];
NSLog(@"Question Made by : %@",qOwnerUser);
}
.....
正在打印以下:
1)
@@@ : Successfully retrieved 1 cards
2)
(
"<Questions: 0x17011f5c0, objectId: zZWGsfciEU, localId: (null)> {\n CardId = 999;\n qOwner = \"<PFUser: 0x17037e000, objectId: LtdxP5K0n6>\";\n type = 0;\n }"
)
3)
currentUser : <PFUser: 0x174375e40, objectId: LtdxP5K0n6, localId: (null)> {
facebookId = 10153480462518901;
thumbnail = "<PFFile: 0x174479a80>";
username = UYRRmfbXDHqr1Ws4VwJcAy2wx;
}
4)
Question Made by : <PFUser: 0x17037e000, objectId: LtdxP5K0n6, localId: (null)> {
}
1-2-3似乎是正确的,可以看我的指针关系。但为什么在4里面{}
我什么都看不到?我预计会看到与3中相同的用户详细信息。
我错过了什么吗?
答
解析不会在查询中默认获取指针值。您必须告诉查询以使用includeKey:
包含指针数据。这样做:
PFQuery *query = [PFQuery queryWithClassName:@"Questions"];
[query addAscendingOrder:@"createdAt"];
[query includeKey:@"qOwner"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
...
}];
嗯我没有注意到,在文档中..谢谢,我会尝试一次在线,并会接受答案,如果正确的话! – ghostrider