際際滷

際際滷Share a Scribd company logo
CoreData バッドプラクティス
お}朕
? gな徭失B初
? CoreData 汐
? バッドプラクティスCoreData
? バッドプラクティスからのリカバリ
gな徭失B初


? iPhoneのアプリ_k宀
? ^わるいアプリ_k
? アプリの二鮫戻宛(サ`ビス/フレ`ムワ`クの戻宛)
? 鵬蒄I宀
_kアプリ
Wifiル`タ`喘アプリ

咫泡サ`ビス喘アプリ
CoreData の汐
iOS CoreData莿徃謇T
? 念磯sqlite、瘁磯CoreDataの
撹
? 旋喘ケ`スに児づいたサンプ
ルコ`ド
? マルチスレッドについて冱式
なし
? バイナリを鯉{する圭隈につ
いてしい
CoreData を聞う
ユ`ザがえるのは
うれしいかぎり。
ただしCoreDataで
房わぬFにる並も´
そもそも聞う
駅勣がある
SQLライクにデ`タを喟A晒&い栽わせC
嬬をgFするのであれば(屡にsqliteにvする
岑Rがあれば)sqlite もxk岔かも。
トがそれ殻寄きくない栽は、
NSArray、NSDictionary で喟A晒、
NSPredicate を聞ってgりzみが辛
嬬。
トがそれ殻寄きくない栽は、
NSArray、NSDictionary で喟A晒、
NSPredicate を聞ってgりzみが辛嬬。
NSPredicte による
デ`タのい栽わせ
? NSPredicate によるデ`タのい栽わせが辛嬬
? 峺協圭隈がNSString のフォ`マット蛍に除い
ものが聞える(揖じではない)
? plist でgりzめるのは(500-1000勣殆ぐらいが
渊)
NSPredicateについては
サンプルコ`ド歌孚

https://github.com/
notoroid/SimpleSearch
Core Data バッドプラクティス
CoreDataの蒙
? NSPredicte によるデ`タのい栽わせ
? デ`タモデルのアップグレ`ドがそこそこ屁(マイ
グレ`ション)
? デ`タの喟A晒とオブジェクト砿尖が蛍xされてい
る(函りしやマルチスレッドにも鮄耽)
? オブジェクトっぽくQえる
デ`タの喟A晒
? オブジェクトの侘でデ`タを喟A晒できる

オブジェクトの侘で
なければ麿のxk岔
で措くないのでは
デ`タモデルの
アップグレ`ドC嬬がそこそこ屁
? }方のデ`タモデルを協xして、デ`タモデ
ルgのデ`タモデルのアップグレ`ドが辛嬬
? デ`タモデルgのアップグレ`ド圭隈を峺協
することができる(徭咫∧)
? sqlite でもできないことはない
オブジェクトっぽくQえる
? NSManagedObject がCoreDataのオブジェク
ト。NSManagedObject から、鯣ゝ
? NSManagedObject をカスタマイズして、オ
ブジェクトのプロパティのようにQうことも
辛嬬
CoreData の羨ち了崔は
? sqlite や、plist でgF辛嬬な並が嶷}してい
る。
? オブジェクトを喟A晒することにvしてW_
議だがCoreDataを聞う貧で雙えておくことが
謹い。
? iOS SDKでもミドルウェア議Qい。
CoreData を駻辰垢襪
あたって
? デ`タモデルの@A議アップグレ`ドが駅勣

? バックグラウンドとフォアグランドでデ`タ
の厚仟が駅勣
? 麿のアプリ_kでもステレオタイプにデ`タ
をQいたい
もしそうでなければ
麿の返粁を冥してみて
は
バッドプラクティス
CoreData
CoreData を聞う貧で
い箭をB初
バッドプラクティス
CoreData の
ミドルウェアを聞う
MagicalRecord
? パッケ`ジ砿尖(CocoaPods) でつかる
? デ`タモデルに児づいてカスタムクラスを徭
喇撹Ε泪ぅ哀讒`ションC嬬を戻工
? CreDataを聞う貧で宴旋なC嬬を戻工
MagicalRecord
? カスタムクラス
? ojに賞寄(畠猟碧の舒徴)
? 碧できる嗤吩な秤鵑CoreDataそのものよ
り富ない。
? デフォルトのストレ`ジ了崔が
BundleDisplayName(アプリの燕幣兆)
デフォルトのストレ`ジ了崔が
BundleDisplayName(アプリの燕幣兆)

? アプリの燕幣を笋┐襪函參念の隠贋喘デ`
タのパスを梨れてしまう。
? アプリの燕幣兆を筝するだけで、デ`タベ`
スが肇されたようにeしてしまう。
採が冱いたいかと
いうと
兜豚の_kスピ`ドは借げる
が、メンテナンスに育う恬I
は丑禍なものになる
MagicalRecord へのフォロ`

? おそらくは、Twitter やFacebookペ`ジをなど
もオフラインデ`タの旋喘を覿┐靴燭發
? ユ`ザのF嶷なデ`タを函りQうことはあま
り覿┐気譴討い覆いもしれない。
室g剖┐}
? 碧U喇で冥し竃したミドルウェアは室gの
剖┐できてないかも
? パッケ`ジ砿尖に鬉靴討い襯潺疋襯ΕД
は恷措の盾Q圭隈
バッドプラクティス
デ`タの嶄に鮫
デ`タの嶄に鮫
? CoreDataのデ`タモデルに協xにバイナリ
デ`タを峺協辛嬬
? イメ`ジもバイナリデ`タの侘で隠贋辛嬬
? ファイルで隠贋するよりも砿尖がS。
? 云栖サムネイルだけだったのがいつのgにか
謹喘
? 鯉{する鮫饅睿餠箸鮓澆すると、喟A晒デ`
タのサイズが賞寄晒。メモリオ`バ`で鯛ち
る
? シミュレ`タや、恷仟CNだけでテストする
と}をkできない
まとめ
? ミドルウェア犁韻CoreDataにして、ミドル
ウェアは敷怎かも
? パッケ`ジ砿尖で函り秘れるミドルウェアは喘余
に鬉犬剖┐靴泙靴腓Α剖┐靴覆ぅ潺疋襯Ε
アを{瞳するとあなたの佚喘が朕pりします。
? デ`タモデルへの鮫颪鮑める並は辛嬬であって
も、それが要輝か篇しましょう。
バッドプラクティス
からのリカバリ
バッドプラクティス
際dのアプリを
リリ`スしてしまった。
もうお返貧げ
CoreData は
バッドプラクティス際dの
アプリにも照いの返を
餓し阜べてくれます。
バッドプラクティス
からの用抜
? デ`タモデルをアップグレ`ドして寄きなバ
イナリデ`タを翌に弖い竃す。
? デ`タモデルのアップグレ`ドには、デ`タ
モデルマッピングを聞う。
? バイナリデ`タを翌にき竃すには返咼▲
プグレ`ドを喘吭する。
仟しい奉來を弖紗するだけであれば、デ`タマッ
ピングファイルは駅勣ない。
デ`タモデル坪の奉來兆を
厚殻業であればモデルマッピ
ングソフトの恬撹だけでgむ。
Core Data バッドプラクティス
デモコ`ド
https://github.com/
notoroid/
CoreDataImageMigrati
onSample
廣吭泣
? デ`タモデルの兆念にアンダ`バ`(_) を聞う
とデ`タマッピングをiみzまなくなる
? `ったデ`タモデルを弖紗した栽は、返
でプロジェクトファイルをシする駅勣が竃
てくる
まとめ
? iOS CoreData 莿徃謇T が竃たことCoreData
が附除になりました。
? ステレオタイプにiOSアプリのデ`タをQいた
いのであれば、このC氏に僥んでみてはいか
がでしょう
http://irimasu.com
Twitter: @notoroid
巷塀: @irimasu

More Related Content

Core Data バッドプラクティス