Your SlideShare is downloading. ×
0
MagicalRecordでCore Data
をシンプルにする
Cocoa 勉強会 関西
2014/4/19
@asakahara
まずは自己紹介
• 今年2月からはてなスタッフとして滋賀に移住したばかり
• それ以前は広島のECサイト運営会社とフリーランスで
3年ほどiOSアプリ開発に従事
• 個人でもiOSアプリを5本ほどリリース
• 最近は仕事以外でも夜な夜なアプリ作...
少し宣伝を・・・是非お試しください!
Core Data って使いやすい
ですか?
では本題です
•使うための前準備だけでいろいろ書く必要がある
•マルチスレッドの場合、スレッド毎にContextを用意しな
いといけない等の準備が必要
•単純なクエリでもコード量増えがち
•NSUserDefaultsみたいに簡単に使いにくい
機能は充実して...
もっと気軽に使いたい!
と思ってたら
それらを解決してくれる
ライブラリが既に
たくさん作られていました
その中から今日は
以前から開発されていて
情報も多いMagicalRecordについて
簡単に紹介します
MagicalRecordとは?
• Active Recordパターンを採用したCore Data のラッパー
• Core Dataの機能もそのまま使える
• Core Data特有の処理を隠 してくれる
• Core Dataの知識があれ...
mogeneratorについても紹介
Xcodeで作成したモデルファイルから各エンティティ用の
NSManagedObject派生クラスを自動生成してくれる
ユーティリティ
Xcodeでもできるけど・・・
•カスタマイズ専用のサブクラスも一緒に...
MagicalRecordの導入
platform :ios, '7.0'	
pod 'MagicalRecord'
・Podfileの作成
・インストール
> pod install
> brew install mogenerator
・mo...
monegeratorの使い方
> mogenerator --template-var arc=true 	
-m ./project/Model/DataModel.xcdatamodeld 	
-O ./project/Model/	
・...
使い方
[MagicalRecord setupCoreDataStackWithStoreNamed:@“データモデル
名.sqlite”];
application:(UIApplication *)application
didFinis...
CRUD
NSArray *people = [Person MR_findAll];	
!
NSArray *peopleSorted = [Person MR_findAllSortedByProperty:	
	 	 	 	 	 	 	 ...
詳細な使い方はドキュメントを見ていきましょう
!
https://github.com/magicalpanda/MagicalRecord
MagicalRecordを使ったサンプルを
公開してますので参考にしてください
https://github.com/asakahara/ASHatenaBlogReader
今日のまとめ
• MagicalRecordを使うことで開発効率のアップ
• 簡単に使える分、Core Dataが裏で何をやってるかを
常に意識しながら開発するのがベスト
• 気になるところは実際にソースコードを見てみると
よい
面倒で決まりきった処理は
ライブラリにまかせて
自分たちが本当に作るべき物を
集中して開発できる環境にして
いきましょう!
• iOS Core Data 徹底入門
!
日本語のCore Dataに関する書籍
は少ないので貴重な一冊です
!
マルチスレッドで使用する際の情
報があればもっとよかった
Core Dataをよりよく
知るために
活動中のSNS、ブログなど
• はてなブログ:http://sakahara.hatenablog.jp/
• 個人サイト:http://www.mocology.com/ja/
• Twitter:@asakahara
• qiita:htt...
ご清聴ありがとう
ございました!
Upcoming SlideShare
Loading in...5
×

Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする

1,943

Published on

Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする

Published in: Software
1 Comment
5 Likes
Statistics
Notes
No Downloads
Views
Total Views
1,943
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
2
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

Transcript of "Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする"

  1. 1. MagicalRecordでCore Data をシンプルにする Cocoa 勉強会 関西 2014/4/19 @asakahara
  2. 2. まずは自己紹介 • 今年2月からはてなスタッフとして滋賀に移住したばかり • それ以前は広島のECサイト運営会社とフリーランスで 3年ほどiOSアプリ開発に従事 • 個人でもiOSアプリを5本ほどリリース • 最近は仕事以外でも夜な夜なアプリ作るのが日課
  3. 3. 少し宣伝を・・・是非お試しください!
  4. 4. Core Data って使いやすい ですか? では本題です
  5. 5. •使うための前準備だけでいろいろ書く必要がある •マルチスレッドの場合、スレッド毎にContextを用意しな いといけない等の準備が必要 •単純なクエリでもコード量増えがち •NSUserDefaultsみたいに簡単に使いにくい 機能は充実しているけど・・・ など問題ありますよね・・・
  6. 6. もっと気軽に使いたい!
  7. 7. と思ってたら それらを解決してくれる ライブラリが既に たくさん作られていました
  8. 8. その中から今日は 以前から開発されていて 情報も多いMagicalRecordについて 簡単に紹介します
  9. 9. MagicalRecordとは? • Active Recordパターンを採用したCore Data のラッパー • Core Dataの機能もそのまま使える • Core Data特有の処理を隠 してくれる • Core Dataの知識があれば学習コストは低い 面倒なことを肩代わりして くれます!
  10. 10. mogeneratorについても紹介 Xcodeで作成したモデルファイルから各エンティティ用の NSManagedObject派生クラスを自動生成してくれる ユーティリティ Xcodeでもできるけど・・・ •カスタマイズ専用のサブクラスも一緒に出力してくれる •固有の処理はサブクラスに書いておけば再出力しても上 書きされない等のメリットがある 補足: MagicalRecordとmogeneratorを一緒に使うとリジェクトされるケースがあるらしい Ver 2.3.0(ベータ)では解決しているとのこと
  11. 11. MagicalRecordの導入 platform :ios, '7.0' pod 'MagicalRecord' ・Podfileの作成 ・インストール > pod install > brew install mogenerator ・mogenerator はHomebrewでインストールするのが簡単
  12. 12. monegeratorの使い方 > mogenerator --template-var arc=true -m ./project/Model/DataModel.xcdatamodeld -O ./project/Model/ ・コマンド
  13. 13. 使い方 [MagicalRecord setupCoreDataStackWithStoreNamed:@“データモデル 名.sqlite”]; application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions •後処理(applicationWillTerminate:) [MagicalRecord cleanUp]; •セットアップ
  14. 14. CRUD NSArray *people = [Person MR_findAll]; ! NSArray *peopleSorted = [Person MR_findAllSortedByProperty: @"LastName" ascending:YES]; ! •クエリ •登録 Person *myNewPersonInstance = [Person MR_createEntity]; Person *p = ...; [p MR_deleteEntity]; •削除 [[NSManagedObjectContext MR_defaultContext] MR_saveOnlySelfAndWait]; •保存
  15. 15. 詳細な使い方はドキュメントを見ていきましょう ! https://github.com/magicalpanda/MagicalRecord
  16. 16. MagicalRecordを使ったサンプルを 公開してますので参考にしてください https://github.com/asakahara/ASHatenaBlogReader
  17. 17. 今日のまとめ • MagicalRecordを使うことで開発効率のアップ • 簡単に使える分、Core Dataが裏で何をやってるかを 常に意識しながら開発するのがベスト • 気になるところは実際にソースコードを見てみると よい
  18. 18. 面倒で決まりきった処理は ライブラリにまかせて 自分たちが本当に作るべき物を 集中して開発できる環境にして いきましょう!
  19. 19. • iOS Core Data 徹底入門 ! 日本語のCore Dataに関する書籍 は少ないので貴重な一冊です ! マルチスレッドで使用する際の情 報があればもっとよかった Core Dataをよりよく 知るために
  20. 20. 活動中のSNS、ブログなど • はてなブログ:http://sakahara.hatenablog.jp/ • 個人サイト:http://www.mocology.com/ja/ • Twitter:@asakahara • qiita:http://qiita.com/asakahara
  21. 21. ご清聴ありがとう ございました!
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×