Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
A tip for using magical record
Search
Pin-Shih Wang
October 14, 2014
Programming
0
120
A tip for using magical record
Pin-Shih Wang
October 14, 2014
Tweet
Share
More Decks by Pin-Shih Wang
See All by Pin-Shih Wang
iOS Extension
wpsteak
4
460
CI with Git Flow
wpsteak
2
230
Test With Xcode Server
wpsteak
0
74
a lighter reusable cell
wpsteak
0
58
Other Decks in Programming
See All in Programming
フロントエンドのパフォーマンスチューニング
koukimiura
6
2.3k
Quality Gates in the Age of Agentic Coding
helmedeiros
PRO
1
110
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
720
Workers を定期実行する方法は一つじゃない
rokuosan
0
130
JetBrainsのAI機能の紹介 #jjug
yusuke
0
160
抽象化という思考のツール - 理解と活用 - / Abstraction-as-a-Tool-for-Thinking
shin1x1
1
890
QA x AIエコシステム段階構築作戦
osu
0
220
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
680
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
8
1.1k
AWS Summit Japan 2024と2025の比較/はじめてのKiro、今あなたは岐路に立つ
satoshi256kbyte
1
260
構造化・自動化・ガードレール - Vibe Coding実践記 -
tonegawa07
0
160
#QiitaBash TDDで(自分の)開発がどう変わったか
ryosukedtomita
1
180
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
How GitHub (no longer) Works
holman
314
140k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Agile that works and the tools we love
rasmusluckow
329
21k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
4 Signs Your Business is Dying
shpigford
184
22k
A better future with KSS
kneath
238
17k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Designing Experiences People Love
moore
142
24k
Embracing the Ebb and Flow
colly
86
4.8k
Transcript
A tip for using magical record with Core Data Stack
@wpsteak
Persistent Store Coordinator MR_rootSavingContext NSPrivateQueueConcurrencyType Managed Object Context MR_defaultContext NSMainQueueConcurrencyType
Managed Object Context parent context Magical Record
DataManager Access database Persistent Store Coordinator MR_rootSavingContext NSPrivateQueueConcurrencyType Managed Object
Context MR_defaultContext NSMainQueueConcurrencyType Managed Object Context parent context Magical Record Current Architecture
DataManager NSPrivateQueueConcurrencyType MR_rootSavingContext NSMainQueueConcurrencyType MR_defaultContext Magical Record Current Architecture Main
thread Background Thread Operation Database access
DataManager NSPrivateQueueConcurrencyType MR_rootSavingContext NSMainQueueConcurrencyType MR_defaultContext Magical Record UI Block Main
thread Background Thread Operation > 2x Database access
MR_rootSavingContext NSPrivateQueueConcurrencyType Managed Object Context MR_defaultContext NSMainQueueConcurrencyType Managed Object Context
Nested Managed Object Contexts NSPrivateQueueConcurrencyType Managed Object Context Magical Record MR_context Main thread Background Background
MR_rootSavingContext NSPrivateQueueConcurrencyType Managed Object Context MOC Nested Managed Object Contexts
MOC Magical Record Background Main Background MOC
DataManager MOC MOC NSPrivateQueueConcurrencyType MR_rootSavingContext Magical Record Main thread Background
Thread Background
DataManager NSPrivateQueueConcurrencyType MR_rootSavingContext Magical Record Background Thread operation > 2x
Access in background MOC MOC Main thread Background
DataManager NSPrivateQueueConcurrencyType MR_rootSavingContext Magical Record Background Thread UI MOC Main
thread fetch data Database access
End