20130216 magical record

10
MagicalRecord h_mori 13216日土曜日

Transcript of 20130216 magical record

Page 1: 20130216 magical record

MagicalRecordh_mori

13年2月16日土曜日

Page 2: 20130216 magical record

自己紹介• 森 英寿(プログラマ)

hidetoshi.mori

@h_mori

SOICHA/TweetMe

ATND暦/生存連絡

13年2月16日土曜日

Page 3: 20130216 magical record

MagicalRecord

• iOS5以上、MacOS10.7以上

• ARC

• MIT License

https://github.com/magicalpanda/MagicalRecord

13年2月16日土曜日

Page 4: 20130216 magical record

特徴

• CoreDataのORマッパ (ActiveRecord風)

• マルチスレッド上での操作が楽

• iCloudをサポート

13年2月16日土曜日

Page 5: 20130216 magical record

NSArray *people = [Person MR_findAll];

Person *newPerson = [Person MR_createEntity];

Person *person = ...;[MagicalRecord saveInBackgroundWithBlock:^(NSManagedObjectContext *localContext){ Person *localPerson = [person MR_inContext:localContext]; localPerson.firstName = @"John"; localPerson.lastName = @"Appleseed";}];

13年2月16日土曜日

Page 6: 20130216 magical record

メリット• CoreData, iCloudとの親和性が高い

• ManagedObjectContextが管理されている

• 普通のモデルと同じ感覚で扱える

• 後で永続化しやすい

13年2月16日土曜日

Page 7: 20130216 magical record

mogenerator

• ジェネレーションギャップパターン

• ManagedObjectは自動生成モデル

• 編集した場合はマージが必要になる

13年2月16日土曜日

Page 8: 20130216 magical record

仕組み

• ツールで_modelと派生のmodelクラスが生成

• _modelは触らず、modelのみを編集する

• CoreDataモデルを変更した場合はツールで_model

のみが更新される

13年2月16日土曜日

Page 9: 20130216 magical record

コマンド

• mogenerator --template-var arc=true -m ./Resources/CoreData/main.xcdatamodeld/main.xcdatamodel/ -O ./Classes/

http://rentzsch.github.com/mogenerator/

13年2月16日土曜日

Page 10: 20130216 magical record

CoreData怖くないよ\(^o^)/

13年2月16日土曜日