我在我的应用中使用新的(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”日志已运行,但“完成”日志未运行。我究竟做错了什么?
答案 0 :(得分:4)
据我了解Parse Config,它是一种单向通信API,即您只能从服务器获取配置(通过getConfigInBackgroundWithBlock:
),但不能从客户端写入新数据。 (来源:https://parse.com/docs/ios_guide#config/iOS)
如果要更新解析存储上的数据,则需要使用PFObjects。
答案 1 :(得分:4)
PFConfig对象在客户端上是只读的。必须从浏览器更新它。