Submit Search
Upload
Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
•
7 likes
•
3,116 views
asakahara
Follow
Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
Read less
Read more
Software
Report
Share
Report
Share
1 of 21
Download now
Download to read offline
Recommended
いまNode Express4で書いてるディレクターが 初めて書き始める2ヶ月前くらいの自分に言っておく
いまNode Express4で書いてるディレクターが 初めて書き始める2ヶ月前くらいの自分に言っておく
Takahiro YAMAGUCHI
サブドメイン前提のチーム機能開発で踏んだ OAuthの罠の話 in express
サブドメイン前提のチーム機能開発で踏んだ OAuthの罠の話 in express
Takahiro YAMAGUCHI
ActiveRecord::Enumのススメ
ActiveRecord::Enumのススメ
豊明 尾古
RDS!スケールアップ前のアプリチューニング(ざっくり版)
RDS!スケールアップ前のアプリチューニング(ざっくり版)
Masaru Tomonaga
けちけちで(すみません)Azure IaaS
けちけちで(すみません)Azure IaaS
yukiusagi2052
Kintone + ruby + ThinReports 連携
Kintone + ruby + ThinReports 連携
sy250
Yapc2012ltthon
Yapc2012ltthon
Junya Murabe
Kyakusaki.rb
Kyakusaki.rb
Yasuyuki Fujikawa
Recommended
いまNode Express4で書いてるディレクターが 初めて書き始める2ヶ月前くらいの自分に言っておく
いまNode Express4で書いてるディレクターが 初めて書き始める2ヶ月前くらいの自分に言っておく
Takahiro YAMAGUCHI
サブドメイン前提のチーム機能開発で踏んだ OAuthの罠の話 in express
サブドメイン前提のチーム機能開発で踏んだ OAuthの罠の話 in express
Takahiro YAMAGUCHI
ActiveRecord::Enumのススメ
ActiveRecord::Enumのススメ
豊明 尾古
RDS!スケールアップ前のアプリチューニング(ざっくり版)
RDS!スケールアップ前のアプリチューニング(ざっくり版)
Masaru Tomonaga
けちけちで(すみません)Azure IaaS
けちけちで(すみません)Azure IaaS
yukiusagi2052
Kintone + ruby + ThinReports 連携
Kintone + ruby + ThinReports 連携
sy250
Yapc2012ltthon
Yapc2012ltthon
Junya Murabe
Kyakusaki.rb
Kyakusaki.rb
Yasuyuki Fujikawa
FluentdとAWSを使ったログの運用
FluentdとAWSを使ったログの運用
Keisuke Izumiya
すこやかRails
すこやかRails
Takafumi ONAKA
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
smokey monkey
さくらのクラウドサービス概要資料2016年8月版
さくらのクラウドサービス概要資料2016年8月版
さくらインターネット株式会社
Railsらしい 1対多の画面作成
Railsらしい 1対多の画面作成
Yamamoto Kazuhisa
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
さくらのクラウドアップデート情報2016年7月版
さくらのクラウドアップデート情報2016年7月版
さくらインターネット株式会社
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
Shuji Watanabe
C#でこなすexcel課題
C#でこなすexcel課題
tosaka 2
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
Nao Minami
いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡
sakaik
mod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipm
鉄次 尾形
JRubyで作るapiサーバー
JRubyで作るapiサーバー
Yamamoto Kazuhisa
Sassでちょっと楽しよう
Sassでちょっと楽しよう
Makoto Henmi
設定ファイルに使われそうなデータ形式
設定ファイルに使われそうなデータ形式
鉄次 尾形
「さくらのクラウド」を使って10分でできるDocker (オープンソースカンファレンス2016 Gunma)
「さくらのクラウド」を使って10分でできるDocker (オープンソースカンファレンス2016 Gunma)
さくらインターネット株式会社
PWAをWebサービスに導入した話
PWAをWebサービスに導入した話
dobby618
Word Fes 2015 ライトニングトーク「WordPress+Yii2で簡単データパネル」
Word Fes 2015 ライトニングトーク「WordPress+Yii2で簡単データパネル」
清徳 伊藤
VBAを書きたくない話(Excel-DNAの紹介)
VBAを書きたくない話(Excel-DNAの紹介)
bleis tift
RailsでKnockout.js
RailsでKnockout.js
Makoto Henmi
とある Perl Monger の働き方
とある Perl Monger の働き方
Yusuke Wada
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
文樹 高橋
More Related Content
What's hot
FluentdとAWSを使ったログの運用
FluentdとAWSを使ったログの運用
Keisuke Izumiya
すこやかRails
すこやかRails
Takafumi ONAKA
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
smokey monkey
さくらのクラウドサービス概要資料2016年8月版
さくらのクラウドサービス概要資料2016年8月版
さくらインターネット株式会社
Railsらしい 1対多の画面作成
Railsらしい 1対多の画面作成
Yamamoto Kazuhisa
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
さくらのクラウドアップデート情報2016年7月版
さくらのクラウドアップデート情報2016年7月版
さくらインターネット株式会社
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
Shuji Watanabe
C#でこなすexcel課題
C#でこなすexcel課題
tosaka 2
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
Nao Minami
いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡
sakaik
mod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipm
鉄次 尾形
JRubyで作るapiサーバー
JRubyで作るapiサーバー
Yamamoto Kazuhisa
Sassでちょっと楽しよう
Sassでちょっと楽しよう
Makoto Henmi
設定ファイルに使われそうなデータ形式
設定ファイルに使われそうなデータ形式
鉄次 尾形
「さくらのクラウド」を使って10分でできるDocker (オープンソースカンファレンス2016 Gunma)
「さくらのクラウド」を使って10分でできるDocker (オープンソースカンファレンス2016 Gunma)
さくらインターネット株式会社
PWAをWebサービスに導入した話
PWAをWebサービスに導入した話
dobby618
Word Fes 2015 ライトニングトーク「WordPress+Yii2で簡単データパネル」
Word Fes 2015 ライトニングトーク「WordPress+Yii2で簡単データパネル」
清徳 伊藤
VBAを書きたくない話(Excel-DNAの紹介)
VBAを書きたくない話(Excel-DNAの紹介)
bleis tift
RailsでKnockout.js
RailsでKnockout.js
Makoto Henmi
What's hot
(20)
FluentdとAWSを使ったログの運用
FluentdとAWSを使ったログの運用
すこやかRails
すこやかRails
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
クラスメソッド会社説明会 in 北海道札幌 at smokeymonkey #cmdevio
さくらのクラウドサービス概要資料2016年8月版
さくらのクラウドサービス概要資料2016年8月版
Railsらしい 1対多の画面作成
Railsらしい 1対多の画面作成
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
さくらのクラウドアップデート情報2016年7月版
さくらのクラウドアップデート情報2016年7月版
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
クラスメソッド会社説明会in札幌 — メンバー紹介 #cmdevio
C#でこなすexcel課題
C#でこなすexcel課題
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
DeNA×マネーフォワード×Wantedly Railsエンジニアセミナー
いまいまMySQL@OSC2016長岡
いまいまMySQL@OSC2016長岡
mod_perlで動くアプリをどう置くか #hachiojipm
mod_perlで動くアプリをどう置くか #hachiojipm
JRubyで作るapiサーバー
JRubyで作るapiサーバー
Sassでちょっと楽しよう
Sassでちょっと楽しよう
設定ファイルに使われそうなデータ形式
設定ファイルに使われそうなデータ形式
「さくらのクラウド」を使って10分でできるDocker (オープンソースカンファレンス2016 Gunma)
「さくらのクラウド」を使って10分でできるDocker (オープンソースカンファレンス2016 Gunma)
PWAをWebサービスに導入した話
PWAをWebサービスに導入した話
Word Fes 2015 ライトニングトーク「WordPress+Yii2で簡単データパネル」
Word Fes 2015 ライトニングトーク「WordPress+Yii2で簡単データパネル」
VBAを書きたくない話(Excel-DNAの紹介)
VBAを書きたくない話(Excel-DNAの紹介)
RailsでKnockout.js
RailsでKnockout.js
Similar to Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
とある Perl Monger の働き方
とある Perl Monger の働き方
Yusuke Wada
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
文樹 高橋
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
keroyonn
Spring Boot Introduction
Spring Boot Introduction
chibochibo
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回
都元ダイスケ Miyamoto
MF GeeksNight pplogの話
MF GeeksNight pplogの話
Naoto Koshikawa
Vi Boot Camp #1
Vi Boot Camp #1
Shinya Hayakawa
cochica
cochica
Hiroki Yoshida
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
Study Group by SciencePark Corp.
軽量フレームワークNancy
軽量フレームワークNancy
Narami Kiyokura
Jaws festa-2014-cdp-03
Jaws festa-2014-cdp-03
宗 大栗
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Yasuyuki Ogawa
レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話
nekogeruge_987
WooCommerce 勉強会 - 20161022
WooCommerce 勉強会 - 20161022
Kei Tamura
アプリ制作マスターへの道
アプリ制作マスターへの道
Masayuki KaToH
ios+Android最近気付いいたこと
ios+Android最近気付いいたこと
Hiratsuka Shunsuke
社内勉強会で読んだ本とか
社内勉強会で読んだ本とか
Shinsuke Kuroki
ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発
Atsushi Kojima
Swift afterbeginner
Swift afterbeginner
Kiminari Homma
最近挑戦していること at MF Geeks Night 2015.03.19
最近挑戦していること at MF Geeks Night 2015.03.19
Naoto Koshikawa
Similar to Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
(20)
とある Perl Monger の働き方
とある Perl Monger の働き方
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
あと一つプログラミング言語を 覚えたら死ぬ! 脳みそがパンクしそうな あなたのための nodeJSことはじめ
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
YAPC::Hokkaido 2016 「普段使い言語環境」更新によるスキルリセットサバイバルガイド
Spring Boot Introduction
Spring Boot Introduction
20120830 DBリファクタリング読書会第三回
20120830 DBリファクタリング読書会第三回
MF GeeksNight pplogの話
MF GeeksNight pplogの話
Vi Boot Camp #1
Vi Boot Camp #1
cochica
cochica
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
.NET CoreでのWindowsサービスの作り方と、Coreならではの便利な機能
軽量フレームワークNancy
軽量フレームワークNancy
Jaws festa-2014-cdp-03
Jaws festa-2014-cdp-03
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
Slack Appsでやれる事を確認した。年内日本語化されるんで、急ぎで!
レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話
WooCommerce 勉強会 - 20161022
WooCommerce 勉強会 - 20161022
アプリ制作マスターへの道
アプリ制作マスターへの道
ios+Android最近気付いいたこと
ios+Android最近気付いいたこと
社内勉強会で読んだ本とか
社内勉強会で読んだ本とか
ガチリアルな修羅チーム開発
ガチリアルな修羅チーム開発
Swift afterbeginner
Swift afterbeginner
最近挑戦していること at MF Geeks Night 2015.03.19
最近挑戦していること at MF Geeks Night 2015.03.19
Cocoa勉強会関西 #55 MagicalRecordでCore Dataをシンプルにする
1.
MagicalRecordでCore Data をシンプルにする Cocoa 勉強会
関西 2014/4/19 @asakahara
2.
まずは自己紹介 • 今年2月からはてなスタッフとして滋賀に移住したばかり • それ以前は広島のECサイト運営会社とフリーランスで 3年ほどiOSアプリ開発に従事 •
個人でもiOSアプリを5本ほどリリース • 最近は仕事以外でも夜な夜なアプリ作るのが日課
3.
少し宣伝を・・・是非お試しください!
4.
Core Data って使いやすい ですか? では本題です
5.
•使うための前準備だけでいろいろ書く必要がある •マルチスレッドの場合、スレッド毎にContextを用意しな いといけない等の準備が必要 •単純なクエリでもコード量増えがち •NSUserDefaultsみたいに簡単に使いにくい 機能は充実しているけど・・・ など問題ありますよね・・・
6.
もっと気軽に使いたい!
7.
と思ってたら それらを解決してくれる ライブラリが既に たくさん作られていました
8.
その中から今日は 以前から開発されていて 情報も多いMagicalRecordについて 簡単に紹介します
9.
MagicalRecordとは? • Active Recordパターンを採用したCore
Data のラッパー • Core Dataの機能もそのまま使える • Core Data特有の処理を隠 してくれる • Core Dataの知識があれば学習コストは低い 面倒なことを肩代わりして くれます!
10.
mogeneratorについても紹介 Xcodeで作成したモデルファイルから各エンティティ用の NSManagedObject派生クラスを自動生成してくれる ユーティリティ Xcodeでもできるけど・・・ •カスタマイズ専用のサブクラスも一緒に出力してくれる •固有の処理はサブクラスに書いておけば再出力しても上 書きされない等のメリットがある 補足: MagicalRecordとmogeneratorを一緒に使うとリジェクトされるケースがあるらしい Ver 2.3.0(ベータ)では解決しているとのこと
11.
MagicalRecordの導入 platform :ios, '7.0' pod
'MagicalRecord' ・Podfileの作成 ・インストール > pod install > brew install mogenerator ・mogenerator はHomebrewでインストールするのが簡単
12.
monegeratorの使い方 > mogenerator --template-var
arc=true -m ./project/Model/DataModel.xcdatamodeld -O ./project/Model/ ・コマンド
13.
使い方 [MagicalRecord setupCoreDataStackWithStoreNamed:@“データモデル 名.sqlite”]; application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions •後処理(applicationWillTerminate:) [MagicalRecord cleanUp]; •セットアップ
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.
詳細な使い方はドキュメントを見ていきましょう ! https://github.com/magicalpanda/MagicalRecord
16.
MagicalRecordを使ったサンプルを 公開してますので参考にしてください https://github.com/asakahara/ASHatenaBlogReader
17.
今日のまとめ • MagicalRecordを使うことで開発効率のアップ • 簡単に使える分、Core
Dataが裏で何をやってるかを 常に意識しながら開発するのがベスト • 気になるところは実際にソースコードを見てみると よい
18.
面倒で決まりきった処理は ライブラリにまかせて 自分たちが本当に作るべき物を 集中して開発できる環境にして いきましょう!
19.
• iOS Core
Data 徹底入門 ! 日本語のCore Dataに関する書籍 は少ないので貴重な一冊です ! マルチスレッドで使用する際の情 報があればもっとよかった Core Dataをよりよく 知るために
20.
活動中のSNS、ブログなど • はてなブログ:http://sakahara.hatenablog.jp/ • 個人サイト:http://www.mocology.com/ja/ •
Twitter:@asakahara • qiita:http://qiita.com/asakahara
21.
ご清聴ありがとう ございました!
Download now