iOS
NSPredicateでのクエリ作成とObjective-Cでの活用ガイド
10 分
nspredicateを使用したクエリ イントロダクション このセクションでは、objective cでクエリを定義するためにnspredicateを使用する方法を学びます。 いつでも、このチュートリアルで構築された完全なプロジェクトにアクセスできます。 githubリポジトリ 。 前提条件 このチュートリアルでは、xcode 9 1と ios 11 を使用して作成された基本的なアプリを使用します。 このチュートリアルを完了するには、次のものが必要です: back4appで作成されたアプリ。 注: 新しいparseアプリのチュートリアル を参照して、back4appでアプリを作成する方法を学んでください。 xcode。 基本的なiosアプリ。 注: 基本的なアプリが作成されていない場合は、xcodeを開いて ファイル > 新規 > プロジェクト > ios を選択します。次に、 アプリ を選択します。基本的なアプリを作成したら、このガイドに従う準備が整います。 注: parse ios sdkはios 7 0以上で動作します。 1 テンプレートを取得する テンプレートをダウンロードするには back4appのgithubリポジトリ , そしてプロジェクトフォルダーにファイルを解凍します。 次のコマンドラインを使用して実行できます $ curl lok https //github com/back4app/ios objective c quickstart example/archive/master zip && unzip master zip 2 プロジェクトテンプレートを開く xcodeを開きます。 をクリックします ファイル >開く ファイル >開く 3\ プロジェクトフォルダーに移動し、 quickstartobjcexampleapp xcworkspace quickstartobjcexampleapp xcworkspace をダブルクリックします。 4\ xcodeがプロジェクトを開くのを待ちます。 3 違いを理解する 通常、objective cではクエリを構築するための2つのオプションがあります:‘pfquery’を使用するか、‘nspredicate’を使用するかです。どちらも似たように機能しますが、使用したい制約の数によっては、どちらか一方を使用する方が理にかなっている場合があります。 例えば、pfqueryを使用したシンプルなクエリは次のようになります。 1 \[query wherekey @"playername" notequalto @"michael yabuti"]; 2 \[query wherekey @"playerage" greaterthan @18]; しかし、より複雑なクエリは次のようになります。 1 \[query wherekey @"playername" notequalto @"michael yabuti"]; 2 \[query wherekey @"playerage" greaterthan @18]; 3 \[query wherekey @"playerheight" greaterthan @180]; 4 \[query wherekey @"playerweight" greaterthan @80]; 5 \[query wherekey @"playerfavoritecolour" notequalto @"blue"]; 6 \[query wherekey @"playerislefthanded" equalto @true]; 7 \[query wherekey @"playershoesize" notequalto @42]; 8 \[query wherekey @"playerlivingstate" equalto @"arizona"]; 9 \[query wherekey @"playerlivingcity" notequalto @"springfield"]; 10 \[query wherekey @"playermothersname" equalto @"jane"]; したがって、各ケースに応じて、代わりに‘nspredicate’を使用することを選択できます。 ‘nspredicate’を使用したシンプルなクエリは次のようになります。 1 nspredicate predicate = \[nspredicate predicatewithformat @"playername != 'michael yabuti' and playerage > 18"]; 2 pfquery query = \[pfquery querywithclassname @"gamescore" predicate\ predicate]; より複雑なクエリは次のようになります。 1 nspredicate predicate = \[nspredicate predicatewithformat @"playername != 'michael yabuti' and playerage > 18 and playerheight > 180 and playerweight > 80 and playerfavoritecolour != 'blue' and playerislefthanded = true and playershoesize != 42 and playerlivingstate = 'arizona' and playerlivingcity != 'springfield' and playermothersname = 'jane'"]; 2 pfquery query = \[pfquery querywithclassname @"gamescore" predicate\ predicate]; 4 クエリの実行 次に、クエリを実行できます 1 \[query findobjectsinbackgroundwithblock ^(nsarray objects, nserror error) { 2 if (!error) { 3 // リクエスト成功 4 } 5 }]; 次のステップ この時点で、iosアプリの始め方を学びました。 私たちの iosチュートリアル を歩き回ってもっと学ぶか、 parseオープンソースのios sdkドキュメント を確認してください。