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を使うと覚えておいてもらえれば問題ないでしょう。