Objective c 调用";后解析OS X SDK跳过代码;“保存”;关于PFObject
我试图通过执行查询、调整检索到的对象,然后保存它来更新云中已经存在的PFObject。我最初尝试使用saveInBackgroundithBlock方法,但从未调用该块。后来我移动了save方法,save调用之后的任何代码都不会执行 我正在用最新的Parse OS X SDK运行YosemiteObjective c 调用";后解析OS X SDK跳过代码;“保存”;关于PFObject,objective-c,macos,parse-platform,Objective C,Macos,Parse Platform,我试图通过执行查询、调整检索到的对象,然后保存它来更新云中已经存在的PFObject。我最初尝试使用saveInBackgroundithBlock方法,但从未调用该块。后来我移动了save方法,save调用之后的任何代码都不会执行 我正在用最新的Parse OS X SDK运行Yosemite -(void)saveCardToCloud:(Card *)card{ if(card.cardID){ PFQuery *cardQuery = [PFQuery queryWithClas
-(void)saveCardToCloud:(Card *)card{
if(card.cardID){
PFQuery *cardQuery = [PFQuery queryWithClassName:@"Card"];
[cardQuery whereKey:@"cardID" equalTo:card.cardID];
[cardQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (!error) {
if ([objects count] > 0) {
PFObject *retrievedObject = [objects firstObject];
retrievedObject[@"lastSeenAt"] = card.lastSeenAt;
if(!retrievedObject[@"firstSeenAt"]){
retrievedObject[@"firstSeenAt"] = card.firstSeenAt;
}
retrievedObject[@"officeCheckIns"] = card.officeCheckIns;
retrievedObject[@"shopCheckIns"] = card.shopCheckIns;
[retrievedObject save];
NSLog(@"SAVED IT");
[retrievedObject saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
if(!error){
NSLog(@"Updated existing card");
}else{
NSLog(@"Failed to update existing card: %@", error);
}
}];
}
}
}];
}
}
我正在将PFObject上的一个键设置为nil,但是Parse没有抛出异常。修正:
if(card.officeCheckIns) retrievedObject[@"officeCheckIns"] = card.officeCheckIns;
if(card.shopCheckIns) retrievedObject[@"shopCheckIns"] = card.shopCheckIns;