Swiftで遊ぼう! on Hatena

あしたさぬきblogでやってた初心者オヤジのiOSプログラミング奮闘記がHatenaに来ました

Swiftで遊ぼう! - 617 - CoreDataMyDemo 6 - NSPredicate

データーベースからデータを読み出す時の条件は、NSFetchRequestクラスを使います。

昨日使っていたリクエストはエンティティ名だけの指定で読み取りましたが、読み取るデータを絞り込むときに使うのがNSFetchRequestのpredicateプロパティです。これはNSPredicateクラスです。少しアップルのドキュメントを読んで勉強します。

NSPredicate

NSPredicateクラスは、データをフェッチしたりメモリー内でフィルタリングするための検索を絞り込むために使われる論理条件を定義するときに使用されます。

論理条件を定義することができ、永続保存されたオブジェクトやメモリー内でオブジェクトをフィルタリングするために使われます。

ドキュメントを読んでも後は理解し難いので、イニシャライザーに使われているPredicateフォーマットをみます。

init(format predicateFormat: String,
argumentArray arguments: [AnyObject]?)

predicateFormatを記述するときに下のシンタックスを使います。

  • 「$」
  • 「% @」
  • 「% K」

これらの意味を何となく理解しました。本当に色々なルールがありますね。なんせ、「Predicate Programming Guide」が存在するぐらいですから、Predicateを使いこなすためにいったいどれだけ時間が必要か(T_T)

今日はこれだけ。