尝试将Parse.com对象信息保存到NSStrings时代码停止

时间:2014-10-09 00:18:23

标签: ios objective-c parse-platform

所以我正在创建一个应用程序来搜索保存在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下面的代码甚至没有。任何洞察为什么这不起作用。

1 个答案:

答案 0 :(得分:0)

您遇到的一个问题是您永远不会保存对象。修改所有值后,需要保存PFObject。

[parseCurrentFriend saveInBackground];

编辑:由于您尝试提取值,因此您需要执行以下操作。

friendTitle       = parseCurrentFriend[@"title"];
friendDescription = parseCurrentFriend[@"description"];
friendLatitude    = parseCurrentFriend[@"latitude"];
friendLongitude   = parseCurrentFriend[@"longitude"];