使用例5-5.クエリの連鎖クエリの連鎖例5-6.結果から最初の1件を取得する最初の1件を取得する例6.並べ替えsortedメソッドの使用例はじめに前回はRealmにおけるモデルオブジェクトの作成方法とデータベースへの書き込み方法について説明しました。第4回目となる今回は、クエリを使用してデータベースからデータを取得する方法について説明します。過去記事は以下を参照ください。以下のように、選手を表すPlayerに3件のデータがある前提で説明をします。61.2参考までに、上記のモデル定義とデータ登録用のコードを以下に示します。realm.add(players)}スポンサーリンク2.全データの取得もっとも基本的なクエリは全データの取得です。全データを取得する場合の書式は以下の通りです。Realmインスタンス名.objects(モデルクラス名.self)クエリを実行すると、Resultsクラスのインスタンスが返されます。クエリの結果はデータのコピーではないため、書き込みトランザクション内で変更すると、ディスク上のデータに反映されます。Playerから全てのデータを取得する例を以下に示します。(3)取得データの確認print(results)上記の実行結果は以下のようになります。何件取得できたのかを知りたい場合は、countプロパティを使用します。取得結果は配列になっていますので、「取得結果[インデックス].プロパティ」で参照することができます。取得結果の1件目のデータを参照する例を以下に示します。メソッドを使用します。filterメソッドはいくつかのオーバーライドがあります。代表的な書式を以下に示します。filterメソッドに渡す方法です。nameプロパティが「HIRO」であるレコードを取得するクエリ例を以下に示します。‘HIRO’」という文字列を渡すことで、データを取得しています。1つのNSPredicateによるクエリは、はじめにNSPredicateクラスを使用してfilterに渡す条件式を作成します。「%@」を埋め込むと、その部分は第2引数以降に指定した値で置換されます。「%@」はいくつでも使用することができます。第2引数以降には、クエリ文字列の中に埋め込んだ「%@」の数だけ、カンマで区切って値を指定します。以降のコード例は、文字列によるクエリの方法を使用して説明をしていきます。5-1.比較演算子クエリ文字列で使用可能な比較演算子には以下のものがあります。最大値}上記で示した演算子の使用例を以下に示します。175}")5-2.パターン検索演算子Realmでは、パターン検索を行うことも可能です。以下にパターン検索で使用できる演算子を示します。String型とData型のプロパティに対して使用可能です。※「?」と「*」をワイルドカード文字として使用可能。「?」は1つの文字と一致、「*」は0以上の文字との一致を表す以下に、パターン検索演算子の使用例を示します。'?IR*'")5-3.IN句RealmでもIN句を使用することが可能です。値n}以下に、IN句の使用例を示します。{'HIRO','SHURI'}")5-4.論理演算子Realmでも論理演算子を使用して、複合条件を指定したクエリを実行することができます。以下に使用可能な論理演算子を示します。以下に、論理演算子の使用例を示します。'RO'")5-5.クエリの連鎖クエリは連鎖させることができます。「身長が170以上」というクエリの後に、「名前に’HIRO’を含む」というクエリを連鎖して実行することができます。filetrをメソッドチェーンで実行することも、複数行に分けて実行することもできます。以下に使用例を示します。firstプロパティを使用します。以下に使用例を示します。realm.objects(Player.self).first6.並べ替えsortedメソッドを使用することで、取得結果を並べ替えることができます。いくつかのオーバーロードメソッドがありますが、一番使用しやすいのは以下の書式です。sortedメソッドの第1引数には並べ替えのキーとなるプロパティ名を、第2引数は昇順の場合はtrue、降順の場合はfalseを指定します。Bool値)以下にsortedメソッドの使用例を示します。この例ではnameプロパティを降順で並べ替えて結果を取得します。CocoaPodsの導入Swiftでの開発を進めていくにあたり、ライブラリの導入は不可欠です。CocoaPodsというライブラリ管理ツールがありますので、その導入方法を見ていきます。はじめにCocoaPodsをインストールします。CarthageとRealmのインストールSwiftで軽量データベースRealmを使用するにはCarhage(カーセージ)のインストールが必要です。そこで、Carthageをインストールしてみたので覚え書きとして手順を残しておきます。Realmは様々なプラットフォームで使用可能な軽量データベースです。Realmのインストールについては、過去の記事「CarthageとRealmのインストール」を参照してください。ViewControllerから別のViewControllerを呼び出した時に、Alertのように必要部分以外を透過させて見せたい場合があります。今回は、背景を透過させる方法についてみていきます。Eurekaで作成する行には、タグを付けることができます。今回はタグを付けて、あとからRow値を取得する方法を紹介します。Eurekaについては、本ブログのメニューから-を選択して参照ください。前回はRealmにおけるクエリについて説明をしました。第5回目となる今回は、既存データの更新と削除をする方法について説明します。過去記事は以下を参照ください。PMすごく勉強になりました。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。メタ情報ログイン投稿フィードコメントフィードWordPress.orgタイトルとURLをコピーしました。