MagicalRecordを使ってみたい!- 操作編 -
Xcodeのプロジェクトに無事MagicalRecordを入れることが出来たら、次は実際にデータの操作をやってみる。
使うのは、モデルに紐づいたカスタムクラスとNSManagedObjectContextの2種類。
操作の手順は次のようにやるみたい。
1:カスタムクラスのハコを準備する
2:ハコに値を入れる・取り出す
3:contextをつかって値を更新する
1:カスタムクラスのハコを準備する
まず必ず必要なのは、この処理をするときに使うモデルのカスタムクラスをimportしておくこと。たとえばViewController.mの最初に
#import "SSCat.h"
などとして読み込んでおく。
新規のデータを作る時は
SSCat *cat1 = [SSCat createEntity];
すでに登録されているデータを書き換えたりする時は、ある条件に一致するものを撮ってきて更新するとかあるはず。そういう時は、まずNSArrayで条件に合うデータ群を取ってくる。
NSArray *Cats = [SSCat findByAttribute:@"name" withValue:@"tama"];
そして、書き換えたり読み出したりしたいデータをカスタムクラスにしまい込む。
削除する時はこう。
[cat1 deleteEntity];
2:ハコに値を入れる・取り出す
EntityのAttributeは、次のようにして触れる。普通にプロパティ。
cat1.name = @"mike";
cat1.weight = [NSNumber numberWithInt:4000];
Attributeの型に合わせていれればOK。取り出したい時は逆にする。
3:contextをつかって値を更新する
NSManagedObjectContextをつかってこんな感じ。
NSManagedObjectContext *coreDataContext;
coreDataContext = [NSManagedObjectContext defaultContext];
[coreDataContext saveOnlySelfAndWait];
最後のsaveOnlySelfAndWaitはsaveの仕方で、saveOnlySelfWithCompletionとかってのもある。
詳しいことはひとまず置いといて、こうしたら値の読み書きが出来ます的な備忘録でした。
あくまでも中身はCoreDataなので、処理の実際なんかはしっかり知っておきたいところではあります。