SwiftとMagicalRecord/CoreDataでLIKE検索

スポンサーリンク

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

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

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

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

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

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

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

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

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

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

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

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

スポンサーリンク
 
スポンサーリンク
  • 2件のコメント
  • いいね

    いいね

    • taka

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

Leave Your Message!