SlideShare a Scribd company logo
やはりお前らのCoreData
の使い方も間違っている
potatotips #6
株式会社キュリオシティソフトウェア
@yimajo
自己紹介
• 株)キュリオシティソフトウェア代表取締役(今城善矩)
• まったりiOSアプリの受託開発もしているので仕事の話が
あれば相談に乗れる体制ですよ
• 現状サーバー/Androidアプリ込みなら発注するというお話
はお断りしてしまっていたのですが、もし得意な方でやろ
うぜ!という方がいれば教えてください。
本題
全力でdisるよ!
CoreDataの使い方について
まず言いたいのが
AppDelegateが
NSManagedObjectContextや
NSManagedObjectModelを
生成したりすべき
ではない
ということ。
AppDelegateは
iOSなどから変化に応じて直
接処理を受け付ける
のが役目。
これを忘れるから
お前らはすぐ
AppDelegateを肥満にする
( )゚Д゚( ;)
得意なことだけをやらせろ。
次に言いたいのは、
データの取得の際は
常に
NSFetchedResultsController
を使う
必要はない
これは
Xcodeが生成する
コードテンプレートに
お前ら釣られすぎ
m9(^Д^)
NSFetchedResultsController
は
UITableViewがある場合など
indexPath(sectionとrow)に
対応している場合に便利
例えば一件だけデータがほし
いだけなら
NSFetchRequestで充分。
使いわけ重要。
さいごに
NSManagedObject
サブクラスをモデルデータか
ら自動生成しているのに
プロパティを使わずに
NSMangedObjectクラスの
setValue:forKey:を使って
わざわざ文字列のKeyを使っ
て
データを操作してしまってる
//Eventというクラスを文字列指定で編集しようとする
NSEntityDescription *entity
= [NSEntityDescription entityForName:@"Event"
inManagedObjectContext:managedObjectContext];
!
!
//NSManagedObjectをそのまま使っているので
//setValue:forKeyによりキー値コーディングすることになる
[entity setValue:@“potatotips” forKey:@“name"];
NSManagedObjectのサブク
ラスを自動生成していれば
クラスのプロパティを利用で
きる
//クラス名を文字列で取得して名前で呼び出せるように準備
//EXMSubClassは自動生成したNSManagedObjectのサブクラス
NSString *className = NSStringFromClass([EXMSubClass class]);
!
EXMSubClass *entity
= [NSEntityDescription entityForName:className
inManagedObjectContext:managedObjectContext];
!
!
//サブクラスにnameの属性があればプロパティでアクセスできる
entity.name = @“potatotips”;
やはり
これも
(サブクラスを生成していない)
Xcodeのコードテンプレートに
お前らは
釣られすぎている
(☝  ՞ਊ  ՞)☝
おわり
参考
やはりお前らのiOS7対応は間違っている
http://www.slideshare.net/YoshinoriImajo/ios7-30039408
!
やはりお前らのMVCは間違っている
http://www.slideshare.net/MugeSo/mvc-14469802

More Related Content

PDF
やはりお前らのiOS7対応は間違っている
PDF
Core Data バッドプラクティス
PDF
Potatotips3 hoshi gaki_akira_iwaya
PDF
iOS 7 対応事例 FastCheckin
PDF
CoreDataをバックグラウンドで扱うためのTips
PDF
マルチデバイスに対応するためのAuto layout
PDF
テキスト書き起こし&読み上げLINEボットを作ってみた
PDF
Microsoft Flow 改め、Power Automateはじめました。
やはりお前らのiOS7対応は間違っている
Core Data バッドプラクティス
Potatotips3 hoshi gaki_akira_iwaya
iOS 7 対応事例 FastCheckin
CoreDataをバックグラウンドで扱うためのTips
マルチデバイスに対応するためのAuto layout
テキスト書き起こし&読み上げLINEボットを作ってみた
Microsoft Flow 改め、Power Automateはじめました。

What's hot (20)

PDF
Androidでへっぽこ思考戦車を作ってみた
PDF
iQONを支えるクローラーの裏側
PDF
Designer's Design Talk「デザインの基礎」
PDF
Baa sでお気楽アプリ開発
PDF
KINECT de DEPLOY
PPTX
ポケ森のフレンド登録が面倒だったので gem を作った話(アキバエンジニア懇親会 2018/03/01)
PDF
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
PDF
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
PPTX
タイムカード打刻チャットボット「ごえもん」誕生話 
PDF
インフラエンジニアとして普段心がけていること
PPTX
非エンジニアでも安心!ノンコーディングでもココまでできる!LINE × Azure Logic Apps
PDF
Beatroboでのハードウェアプロトタイピング
PPTX
Flex入門
PPT
AI先生と外国語会話を練習しよう!
PDF
Handoff from Safari
PDF
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
PDF
ミルフィーユ 自動回路設計ツール
PPTX
俺 と ご褒美 Bot
PDF
ノーコーディングでAIサービスを使ってみた話
PDF
iPhoneアプリ無料勉強会 vol2
Androidでへっぽこ思考戦車を作ってみた
iQONを支えるクローラーの裏側
Designer's Design Talk「デザインの基礎」
Baa sでお気楽アプリ開発
KINECT de DEPLOY
ポケ森のフレンド登録が面倒だったので gem を作った話(アキバエンジニア懇親会 2018/03/01)
ノンコーディングで LINE Bot 開発! Azure Logic Apps × Azure Cognitive Services ×LINE メッセー...
Apple審査を一発通過! iOS開発経験0でも出来る じげん流Swift開発のすべて
タイムカード打刻チャットボット「ごえもん」誕生話 
インフラエンジニアとして普段心がけていること
非エンジニアでも安心!ノンコーディングでもココまでできる!LINE × Azure Logic Apps
Beatroboでのハードウェアプロトタイピング
Flex入門
AI先生と外国語会話を練習しよう!
Handoff from Safari
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
ミルフィーユ 自動回路設計ツール
俺 と ご褒美 Bot
ノーコーディングでAIサービスを使ってみた話
iPhoneアプリ無料勉強会 vol2
Ad

Viewers also liked (9)

PDF
Core dataと比較してrealmを使ったまとめ
PDF
CoreDataでのsubqueryの使い方
PDF
StoryboardでUIを使いまわす
PDF
Swiftのswitchはとってもパワフル!
PDF
Company Scouter
PDF
iOS UI Component API Design
PDF
UIKit DynamicsとCoreMotionを組み合わせて物体を転がしてみた
PDF
CoreData 非同期データ処理
PPTX
技術選択とアーキテクトの役割
Core dataと比較してrealmを使ったまとめ
CoreDataでのsubqueryの使い方
StoryboardでUIを使いまわす
Swiftのswitchはとってもパワフル!
Company Scouter
iOS UI Component API Design
UIKit DynamicsとCoreMotionを組み合わせて物体を転がしてみた
CoreData 非同期データ処理
技術選択とアーキテクトの役割
Ad

Similar to やはりお前らのCore Dataの使い方も間違っている (20)

PDF
おすすめインフラ! for スタートアップ
PDF
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
PDF
.NET6新機能の振り返り
PDF
Yidev201406.pub
PDF
Titanium Mobile ~本当にあったこわい話~
PDF
3 auto layout tips
PDF
保守性の高いアプリケーション設計について
PDF
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
PPT
PDF
Web開発者が始める .NET MAUI Blazor App
PDF
だいすきStoryboard - #potatotips (iOS/Android開発Tips共有会) 第7回
PDF
[社内向け]Titanium勉強会
PDF
Static Web AppsとBlazor WebAssemblyのすすめ
PDF
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
PDF
Spath for enterprise
PDF
Riot.jsとフォームのデータバインディング
PDF
.NET 7期待の新機能
PDF
[Android]趣味プログラマーな非エンジニアにアプリ開発を教える
PDF
スタートアップ向け!1人日でできるサービスの高速化方法と成果
PPTX
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング
おすすめインフラ! for スタートアップ
KANAZAWA アプリ開発塾 2015 アプリ制作マスターへの道
.NET6新機能の振り返り
Yidev201406.pub
Titanium Mobile ~本当にあったこわい話~
3 auto layout tips
保守性の高いアプリケーション設計について
アプリでもオブジェクト指向エクササイズ(Potatotips#3)
Web開発者が始める .NET MAUI Blazor App
だいすきStoryboard - #potatotips (iOS/Android開発Tips共有会) 第7回
[社内向け]Titanium勉強会
Static Web AppsとBlazor WebAssemblyのすすめ
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
Spath for enterprise
Riot.jsとフォームのデータバインディング
.NET 7期待の新機能
[Android]趣味プログラマーな非エンジニアにアプリ開発を教える
スタートアップ向け!1人日でできるサービスの高速化方法と成果
xR Tech Tokyo 登壇資料 Mixed Realityではじまるコラボレーティブ・コンピューティング

More from 今城 善矩 (12)

PDF
HealthKitで日別のデータを一度に取得する
PDF
Stargazer Meetup1
PDF
とにかく明るいCore Spotlight
PDF
SansanのEightアプリでRealmを導入した件
PDF
BaseViewControllerは作りたくない
PDF
まだSwiftで消耗してるの?
PDF
小学生でも分かった気になるiOS8のSize Class
PDF
iOSアプリ開発の現場で訊いてきたtips
PDF
Swiftだめ自慢Beta5
PDF
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
PDF
OHHTTPStubsを使ったiOSアプリ開発
PDF
ジョブズも成仏するTips考えたったwww
HealthKitで日別のデータを一度に取得する
Stargazer Meetup1
とにかく明るいCore Spotlight
SansanのEightアプリでRealmを導入した件
BaseViewControllerは作りたくない
まだSwiftで消耗してるの?
小学生でも分かった気になるiOS8のSize Class
iOSアプリ開発の現場で訊いてきたtips
Swiftだめ自慢Beta5
WebApiを利用する際のOptional Bindingやクロージャを駆使したSwiftらしいコードの書き方
OHHTTPStubsを使ったiOSアプリ開発
ジョブズも成仏するTips考えたったwww

やはりお前らのCore Dataの使い方も間違っている