まず、sqlでいうselect文はCoreDataだとNSFetchRequestオブジェクトになります。 しかし、このNSFetchRequestはsqlとは全く違う書き方をしないといけないため、sqlに慣れてしまった人にとってはとても扱いづらく感じてしまいます。 そこで、sqlとの比較を基にNSFetchRequestの対応表を書いてみました。 ■sqlとの比較
sql文
NSFetchRequestのメソッド
select
setPropertiesToFetch
distinct
setReturnsDistinctResults
from
setEntity
where
setPredicate
order
setSortDescriptors
limit
fetchLimit
offset
fetchOffset
join
setRelationshipKeyPathsForPrefetching
■NSFetchRequest特有の項目
- setResultType データを受け取る形式の選択ができる。選択肢は次の4つ。 NSManagedObjectResultType NSManagedObjectIDResultType NSDictionaryResultType NSCountResultType
- setFetchBatchSize limit,offsetとは別に一度のSQLで取得するオブジェクトの数を設定できる。 イメージとしてはpage=1,2,3…を順番にとる感じ。
それぞれのメソッドの具体的な使い方は今回はパスします。 しかし、こうみるとCoreDataってメソッド名長いですね。