Ios GetObjectInBackgroundHithid:使用指针[Parse]
首先,我获取当前用户和连接到该用户的图书(它是指向图书objectId的指针)。然后,我想使用getObjectInBackgroundHitid方法查找图书,然后显示图书名称。当我将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[
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
并在完成块中获取该书