ニフクラ mobile backend(mBaaS)お役立ちブログ

スマホアプリ開発にニフクラ mobile backend(mBaaS)。アプリ開発に役立つ情報をおとどけ!

Swift + iOS SDKでOR検索を使う

f:id:mbaasdevrel:20180913163950p:plain

NCMBのiOS SDKは正式にはSwiftをサポートしておらず、サンプルのコードもObjective-Cとなっています。Swiftはすでに3が主流となっており、利用者も増えています。そこでNCMB iOS SDKをSwiftでどう使えば良いかをコード例を用いつつ紹介します。

今回はiOS SDKでのデータストアのOR検索を解説します。

データストアのクエリクラス作成

まずデータストアのクエリクラスを作成します。この時、条件に合わせて複数作成します。

// 一つ目のクエリ
let query1 = NCMBQuery.init(className: "todoClass")!
query1.whereKey("todo", equalTo: "制限付き")

// 二つ目のクエリ
let query2 = NCMBQuery.init(className: "todoClass")!
query2.whereKey("todo", equalTo: "制限あり")

検索条件を結合する

そして検索条件をOR結合します。

let query = NCMBQuery.orQuery(withSubqueries: [query1, query2])

このように NCMBQuery.orQuery を使うのがポイントです。そして配列でクエリを指定します。これは複数指定できるようです。

検索する

後は検索を実行するだけです。

query?.findObjectsInBackground({(results, error) in
  if error != nil {
    print("error", error ?? "")
  } else {
    print(results ?? "")
  }
})

これでOR条件にマッチするデータが抽出できます。

まとめ

OR条件を使うことで、よりデータの絞り込みが可能になります。ぜひ使い方を覚えてください。

データストア (iOS) : 基本的な使い方 | ニフクラ mobile backend

中津川 篤司

中津川 篤司

NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。 2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。