今のところParseのiOS Guide抄訳はここまで。PushNotificationセクション以降は使うときが来たら訳してみます。
// デフォルトではキャッシュは無効。cachePolicyに値を渡すと有効になる。 query.cachePolicy = kPFCachePolicyNetworkElseCache; // kPFCachePolicyIgnoreCache:キャッシュ使わない // kPFCachePolicyCacheOnly:キャッシュしか使わない // kPFCachePolicyNetworkOnly:Readはネットワークだけでやる。Writeはキャッシュにする。 // kPFCachePolicyCacheElseNetwork:キャッシュにデータがなかったらネットワークにアクセスする // kPFCachePolicyNetworkElseCache:ネットワークにアクセスできなかったらキャッシュを使う // kPFCachePolicyCacheThenNetwork:まずキャッシュにアクセスし、その後ネットワークにもアクセスする。callbackが二回呼ばれる query.hasCachedResult; [query clearCachedResult]; [PFQuery clearAllCachedResults]; // キャッシュの生存期間を秒単位で指定する query.maxCacheAge = 60; // countだけ取ってこれる [query countObjectsInBackgroundWithBlock:^(int count, NSError *error) { if (!error) { // The count request succeeded. Log the count NSLog(@"Sean has played %d games", count); } else { // The request failed } }]; // orQueryWithSubqueriesで複数のクエリをUnionする PFQuery *lotsOfWins = [PFQuery queryWithClassName:@"Player"]; [lotsOfWins whereKey:@"wins" greaterThan:[NSNumber numberWithInt:150]]; PFQuery *fewWins = [PFQuery queryWithClassName:@"Player"]; [fewWins whereKey:@"wins" lessThan:[NSNumber numberWithInt:5]]; PFQuery *query2 = [PFQuery orQueryWithSubqueries:[NSArray arrayWithObjects:fewWins,lotsOfWins,nil]]; [query2 findObjectsInBackgroundWithBlock:^(NSArray *results, NSError *error) { }]; // Files セクション // PFFileは10MBまでのバイナリデータを保存できる NSData *data = [@"Working at Parse is great!" dataUsingEncoding:NSUTF8StringEncoding]; PFFile *file = [PFFile fileWithName:@"resume.txt" data:data]; [file saveInBackground]; // 各ファイルにはユニークなIDが振られるので同じファイル名のファイルを作っても問題ない。 // 拡張子を元にParseがファイルタイプを判別して何か処理するらしいので拡張子は正しくつけること。 // PFObjectにPFFileを紐づけることができる PFObject *jobApplication = [PFObject objectWithClassName:@"JobApplication"]; [jobApplication setObject:@"Joe Smith" forKey:@"applicantName"]; [jobApplication setObject:file forKey:@"applicantResumeFile"]; [jobApplication saveInBackground]; // PFFileをサーバから取得する方法。PFObjectを介して取得する。 PFQuery *appQuery = [PFQuery queryWithClassName:@"JobApplication"]; [appQuery getFirstObjectInBackgroundWithBlock:^(PFObject *obj, NSError *error){ PFFile *applicantResume = [jobApplication objectForKey:@"applicantResumeFile"]; [applicantResume getDataInBackgroundWithBlock:^(NSData *data, NSError *error){ // 画像の表示とか }]; }]; // 画像ファイルは↓のように簡単に保存できる UIImage *image = [UIImage imageNamed:@"image"]; NSData *imageData = UIImagePNGRepresentation(image); PFFile *imageFile = [PFFile fileWithName:@"image.png" data:imageData]; [imageFile save]; // PFFileへの参照をPFObjectに保存するのを忘れずに PFObject *userPhoto = [PFObject objectWithClassName:@"UserPhoto"]; [userPhoto setObject:@"My trip to Hawaii!" forKey:@"imageName"]; [userPhoto setObject:imageFile forKey:@"imageFile"]; [userPhoto save]; // プログレスバーの出し方 NSData *data1 = [@"Working at Parse is great!" dataUsingEncoding:NSUTF8StringEncoding]; PFFile *file1 = [PFFile fileWithName:@"resume.txt" data:data1]; [file1 saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { } progressBlock:^(int percentDone) { // プログレスバーの更新処理を書く。percentDoneは0〜100 }];