The PFObject
你可以通过这个类去保存你的数据到parse,对应的是键值关系,你不需要预先创建键值,你可以随意设置你的键值,后台会自动创建的。
密钥必须是字母 数字 字符串。值可以是字符串,数字,布尔值,甚至数组和字典 - 任何可以被json解析的。
每个PFObject类都有一个唯一的名字,你可以用它来区分不同类型的数据。例如,我们可以称之为对象的高分GameScore 。我们建议的你NameYourClassesLikeThis nameYourKeysLikeThis ,只是为了让你的代码看起来适当
比方说,你要保存的数据到parse的类GameScore种 。该接口是一个的NSMutableDictionary ,再加上saveInBackground的的方法类似:
PFObject *gameScore = [PFObject objectWithClassName:@"GameScore"];
[gameScore setObject:[NSNumber numberWithInt:1337] forKey:@"score"];
[gameScore setObject:@"Sean Plott" forKey:@"playerName"];
[gameScore setObject:[NSNumber numberWithBool:NO] forKey:@"cheatMode"];
[gameScore saveInBackground];
也有几个字段,你不需要指定提供方便。 OBJECTID是保存的每个对象一个唯一的标识符。 createdAt updatedAt代表时间,每个对象创建和最后修改时间。在保存完成
注:您可以使用saveInBackgroundWithBlock或saveInBackgroundWithTarget的选择方法,以提供额外的逻辑,保存完成后,将运行其他的方法。
Retrieving Objects
将数据保存到云很有趣,但更有趣获取数据再次。如果OBJECTID ,可以检索整个PFObject的使用PFQuery的。这是一个异步的方法,可以使用块或回调方法的变化:
PFQuery *query = [PFQuery queryWithClassName:@"GameScore"];[query getObjectInBackgroundWithId:@"xWMyZ4YEGZ" block:^(PFObject *gameScore, NSError *error) { // Do something with the returned PFObject in the gameScore variable. NSLog(@"%@", gameScore); }];// The InBackground methods are asynchronous, so any code after this will run// immediately. Any code that depends on the query result should be moved// inside the completion block above.