我试图检索我的解析记录的objectId
。我可以保存和检索数据,但是经历了所有解析文档,谷歌和SO,我似乎无法得到一个明确的答案,如何让id
在主要块之前无需访问记录如Parse教程中那样对objectId
进行编码。
getObjectInBackgroundWithId:@"SS8Cw7rT1h"
< --------尝试检索object id
到这里
我保存数据来解析inc objectId
(好的)
PFObject *scheme = [PFObject objectWithClassName:@"SchemeProvider"];
//Sections of class
scheme[@"schemeName"] = self.schemeName.text;
scheme[@"schemeRegistrationNumber"] = self.registrationNumber.text;
//Save then get object id of saved row
[scheme saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
[scheme objectId];
NSLog(@"SCHEME ROW ID %@",[scheme objectId]);
}];
从解析中检索(一切正常) - 除了 - 在主要版块之前无法获取objectID
PFQuery *queryScheme = [PFQuery queryWithClassName:@"SchemeProvider"];
//NSString *myobjectId = [queryScheme valueForKey:@"objectId"]; <------trying to retrive object id
[queryScheme getObjectInBackgroundWithId:@"SS8Cw7rT1h" block:^(PFObject *retrivedData, NSError *error) {
NSLog(@"All data = %@", retrivedData);
}];
答案 0 :(得分:3)
我刚刚遇到这个问题,并在swift
中为你举了一个例子有一个功能可以在后台使用块进行保存
您可以在保存在将其保存到云端后运行的块中时访问objectId
var foo = PFObject(className:"Foo")
foo["bar"] = "something"
foo.saveInBackgroundWithBlock(){(succeeded: Bool!, error:NSError!) in
if succeeded
{
self.fooLabel.text = foo.objectId
}
}
您可以将objectId存储到某个对象(例如数据结构)或核心数据(如果您需要它以供以后访问)
否则,您需要使用属性值i
来查询对象就像在这里看到的那样:https://www.parse.com/docs/ios_guide#queries-basic/iOS
希望这有帮助