Relmを使ってみた

Realmとは

iOSAndroidで使える組み込みのDB。移植や操作が簡単なので最近人気っぽいです。 実際使いやすい。

Realm is a mobile database: a replacement for SQLite & Core Data

RelmObject

RLMObjectクラスがRelmで扱うデータオブジェクトのクラス。 ここにデータ突っ込む。下記コードの他主キーとかを指定したりする。その辺は後でまとめる。

@interface myObject: RLMObject

@property (nonatomic) NSString *name;
@property (nonatomic) NSData   *date;
@end
RLM_ARRAY_TYPE(myObject)

DBへ保存

こうするとRLMオブジェクトをDBに保存できる。 本当はもっと綺麗にまとめたいけど、それは後ほど。。

myObject *o = [myObject new];
o.name = @"Katoh";
o.date = [NSDate now];

RLMRealm* realm = RLMRealm.defaultRealm;
[realm transactionWithBlock:^
{
    [realm addOrUpdateObjectsFromArray:o];
}];