Ios GetObjectInBackgroundHithid:使用指针[Parse]

Ios GetObjectInBackgroundHithid:使用指针[Parse],ios,objective-c,parse-platform,Ios,Objective C,Parse Platform,首先,我获取当前用户和连接到该用户的图书(它是指向图书objectId的指针)。然后,我想使用getObjectInBackgroundHitid方法查找图书,然后显示图书名称。当我将getObjectInBackgroundHiId:storeUserID更改为getObjectInBackgroundHiId:@“f4Dg92xC2”时,它工作得非常好 PFUser *currentuser = [PFUser currentUser]; storeUserID = currentuser[

首先,我获取当前用户和连接到该用户的图书(它是指向图书objectId的指针)。然后,我想使用getObjectInBackgroundHitid方法查找图书,然后显示图书名称。当我将
getObjectInBackgroundHiId:storeUserID
更改为
getObjectInBackgroundHiId:@“f4Dg92xC2”
时,它工作得非常好

PFUser *currentuser = [PFUser currentUser];
storeUserID = currentuser[@"connectedBook"]; //Store book id in a string
NSLog(@"%@", storeUserID); // what i get <Book:f4Dg92xC2:(null)>


PFQuery *query = [PFQuery queryWithClassName:@"Book"];
[query getObjectInBackgroundWithId:storeUserID block:^(PFObject *books, NSError *error){
    PFObject *bookObject = books[@"bookName"];
    NSLog(@"bookName:%@", bookObject);
}];
PFUser*currentuser=[PFUser-currentuser];
storeUserID=currentuser[@“connectedBook”]//以字符串形式存储图书id
NSLog(@“%@”,storeUserID);//我得到了什么
PFQuery*query=[pfqueryquerywithclassname:@“Book”];
[查询GetObjectInBackgroundHithid:storeUserID块:^(PFObject*书籍,NSError*错误){
PFObject*bookObject=books[@“bookName”];
NSLog(@“bookName:%@”,bookObject);
}];
当我运行此操作时,带有图书名称的NSLog显示:

错误:错误的特殊键:objectId(代码:102,版本:1.2.20) 2014-09-17 23:28:56.529 MyApp[18977:90b]书名:(空)


提前多谢

您的注释
//字符串中的存储簿id
不正确。指针不会返回字符串对象id,而是返回对象本身。因此,您已经有了它,不需要调用
getObjectInBackgroundHithid:


日志
甚至会告诉您它是一个
书籍
实例(不是
NSString
实例)。

我应该如何将bookname存储在一个NSString中?大概它是
书籍
的一个属性,所以您可以调用
[MyBookObjectForkey:@“bookname]”
(其中
myBook
是从指针获得的实例)。本例中的实例是
currentUser[@“connectedBook”]?所以我应该这样做:
PFObject*book=[currentUser[@“connectedStable”]objectForKey:@“bookName”]?是的,这就是
实例。您的语法在该建议中是错误的:
PFObject*book=currentUser[@“connectedStable”]和单独
[BookObjectForkey:@“bookName”]
因此您需要调用
fetchIfNeeded
并在完成块中获取该书