所以我正在创建一个应用程序来搜索保存在parse.com上的朋友位置。在开始之前,这是有问题的方法。
- (void)saveFriendLocationInfo {
PFQuery *query = [PFQuery queryWithClassName:@"Locations"];
[query orderByDescending:@"createdAt"];
[query whereKey:@"userString" equalTo:currentFriend];
[query getFirstObjectInBackgroundWithBlock:^(PFObject *parseCurrentFriend, NSError *error) {
if (!parseCurrentFriend) {
NSLog(@"The getFirstObject request failed.");
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Uh oh..."
message:@"Looks like that user doesnt exist. Might want to double check that."
delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[self.navigationController popToRootViewControllerAnimated:YES];
[alertView show];
} else {
NSLog(@"ObjectID = %@", parseCurrentFriend.objectId);
parseCurrentFriend[@"title"] = friendTitle;
NSLog(@"Saved Title");
parseCurrentFriend[@"description"] = friendDescription;
NSLog(@"Saved Description");
parseCurrentFriend[@"latitude"] = friendLatitude;
NSLog(@"Saved Latitude");
parseCurrentFriend[@"longitude"] = friendLongitude;
NSLog(@"Saved Longitude");
}
}];
}
所以这段代码在检索所需对象时都能正常工作。它到达"否则"中的NSLog线。应该显示对象ID的语句。这将显示我尝试接收的对象的正确对象ID。现在这是一个奇怪的部分。代码似乎就此止步。尝试将属性(标题,描述,纬度,长度)保存到相应的NSStrings时没有任何反应;下面的其他NSLog都没有被执行。但奇怪的是,没有错误,应用程序继续运行,好像第一个NSLog下面的代码甚至没有。任何洞察为什么这不起作用。
答案 0 :(得分:0)
您遇到的一个问题是您永远不会保存对象。修改所有值后,需要保存PFObject。
[parseCurrentFriend saveInBackground];
编辑:由于您尝试提取值,因此您需要执行以下操作。
friendTitle = parseCurrentFriend[@"title"];
friendDescription = parseCurrentFriend[@"description"];
friendLatitude = parseCurrentFriend[@"latitude"];
friendLongitude = parseCurrentFriend[@"longitude"];