Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 1,422 views

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

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

Statistics

Views

Total Views
1,422
Views on SlideShare
944
Embed Views
478

Actions

Likes
1
Downloads
1
Comments
0

4 Embeds 478

http://sakahara.hatenablog.jp 418
https://twitter.com 43
http://www.slideee.com 16
http://feedly.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • MagicalRecordでCore Data をシンプルにする Cocoa 勉強会 関西 2014/4/19 @asakahara
  • まずは自己紹介 • 今年2月からはてなスタッフとして滋賀に移住したばかり • それ以前は広島のECサイト運営会社とフリーランスで 3年ほどiOSアプリ開発に従事 • 個人でもiOSアプリを5本ほどリリース • 最近は仕事以外でも夜な夜なアプリ作るのが日課
  • 少し宣伝を・・・是非お試しください! View slide
  • Core Data って使いやすい ですか? では本題です View slide
  • •使うための前準備だけでいろいろ書く必要がある •マルチスレッドの場合、スレッド毎にContextを用意しな いといけない等の準備が必要 •単純なクエリでもコード量増えがち •NSUserDefaultsみたいに簡単に使いにくい 機能は充実しているけど・・・ など問題ありますよね・・・
  • もっと気軽に使いたい!
  • と思ってたら それらを解決してくれる ライブラリが既に たくさん作られていました
  • その中から今日は 以前から開発されていて 情報も多いMagicalRecordについて 簡単に紹介します
  • MagicalRecordとは? • Active Recordパターンを採用したCore Data のラッパー • Core Dataの機能もそのまま使える • Core Data特有の処理を隠 してくれる • Core Dataの知識があれば学習コストは低い 面倒なことを肩代わりして くれます!
  • mogeneratorについても紹介 Xcodeで作成したモデルファイルから各エンティティ用の NSManagedObject派生クラスを自動生成してくれる ユーティリティ Xcodeでもできるけど・・・ •カスタマイズ専用のサブクラスも一緒に出力してくれる •固有の処理はサブクラスに書いておけば再出力しても上 書きされない等のメリットがある 補足: MagicalRecordとmogeneratorを一緒に使うとリジェクトされるケースがあるらしい Ver 2.3.0(ベータ)では解決しているとのこと
  • MagicalRecordの導入 platform :ios, '7.0' pod 'MagicalRecord' ・Podfileの作成 ・インストール > pod install > brew install mogenerator ・mogenerator はHomebrewでインストールするのが簡単
  • monegeratorの使い方 > mogenerator --template-var arc=true -m ./project/Model/DataModel.xcdatamodeld -O ./project/Model/ ・コマンド
  • 使い方 [MagicalRecord setupCoreDataStackWithStoreNamed:@“データモデル 名.sqlite”]; application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions •後処理(applicationWillTerminate:) [MagicalRecord cleanUp]; •セットアップ
  • 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]; •保存
  • 詳細な使い方はドキュメントを見ていきましょう ! 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:http://qiita.com/asakahara
  • ご清聴ありがとう ございました!