SwiftとMagicalRecord/CoreDataでLIKE検索

スポンサーリンク
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました

MySQL など RDBMS の SQL でいう LIKE 検索を、Swift + MagicalRecord(CoreData)で行う方法です。NSPredicate を使って文字列を表す「%@」と文字列の比較に使う「BEGINSWITH」,「CONTAINS」などを組み合わせて、MagicalRecord の MR_findAllWithPredicate() メソッドで検索を実行します。

スポンサーリンク

BEGINSWITH, ENDSWITH, CONTAINS, LIKE などで検索

Profile モデル(Entity)に name という属性(attribute)があると前提します。searchText が検索文字列。

searchText の文字列で始まる name を検索する。

searchText の文字列で終わる name を検索する。

searchText の文字列が含まれる name を検索する。

完全一致の検索には、ワイルドカードを用いずに LIKE を使用する。

LIKE ではワイルドカードとして、「*」(0文字以上一致)、「?」(1文字以上一致)を利用できます。

大文字・小文字を区別しないで検索するには [c] を付ける

大文字・小文字を区別せずに(case-insensitive)、検索を行う場合は BEGINSWITH[c] とする。

これで、アルファベットの大文字・小文字を区別せずに検索できます。

スポンサーリンク
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)
  • 2件のコメント
  • いいね

    いいね

    • taka

      LIKE だけに「いいね」、ありがとうございます^^

Leave Your Message!