解析配置更改值

时间:2014-10-25 02:39:26

标签: objective-c string parse-platform config

我在我的应用中使用新的(ish)Parse.com'配置'。我从服务器调用以获取数据,然后我将其显示给用户。一切都很好,但现在我在尝试更新服务器中的信息时遇到了问题。

以下是我设置标签的方式:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.

    [PFConfig getConfigInBackgroundWithBlock:^(PFConfig *config, NSError *error) {
        NSString *stringForStock = config[@"mainTitle"];
        self.stockOfTheDay.text = stringForStock;
    }];
}

太棒了。好吧,我想在任何原因改变我的应用程序中的数据,然后更新服务器。这是我尝试使用的:

[config setValue:@"New Title" forKey:config[@"mainTitle"]];

当我运行整个虚空时,该过程永远不会运行。

-(IBAction)changeTitle:(id)sender
{
    NSLog(@"newTitle");
    [PFConfig getConfigInBackgroundWithBlock:^(PFConfig *config, NSError *error) {

        NSString *stringForStock = config[@"mainTitle"];
        self.stockOfTheDay.text = stringForStock;

        [config setValue:@"New Title" forKey:config[@"mainTitle"]];

        NSLog(@"Done");
    }];
}

正如您可以从我的日志中看到的那样,“newTitle”日志已运行,但“完成”日志未运行。我究竟做错了什么?

2 个答案:

答案 0 :(得分:4)

据我了解Parse Config,它是一种单向通信API,即您只能从服务器获取配置(通过getConfigInBackgroundWithBlock:),但不能从客户端写入新数据。 (来源:https://parse.com/docs/ios_guide#config/iOS

如果要更新解析存储上的数据,则需要使用PFObjects。

答案 1 :(得分:4)

PFConfig对象在客户端上是只读的。必须从浏览器更新它。