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

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

Swift + iOS SDKでデータストアを正規表現検索する

f:id:mbaasdevrel:20180806093819p:plain

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

今回はデータストアで正規表現を使った検索の方法を解説します。

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

まずデータストアのクエリクラスを作成します。

let query = NCMBQuery.init(className: "todoClass")!

検索条件を設定する

そして検索条件を設定するのですが、利用するのは equalTo になります。

query?.whereKey("todo", equalTo: ["$regex": "制限.*"])

このように $regex というキーを指定するのがポイントです。値として指定するのは正規表現になります。

検索する

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

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

これで正規表現の検索条件にマッチするデータが抽出できます。

まとめ

正規表現を使うことで、より細かくデータの絞り込みが可能になります。専用のメソッドは用意していませんが、equalToを使うと覚えておいてもらえれば問題ないでしょう。

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

中津川 篤司

中津川 篤司

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