Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Shared, Exclusive, Mutable, Immutable
Search
Greg Heo
May 10, 2018
Technology
0
150
Shared, Exclusive, Mutable, Immutable
NSBudapest, May 2018
Greg Heo
May 10, 2018
Tweet
Share
More Decks by Greg Heo
See All by Greg Heo
Concurrency From the Ground Up
gregheo
0
230
The least you need to know about hashing in Swift
gregheo
0
160
Shared Mutable State
gregheo
0
510
Promises, Futures, and the Shape of Your Code
gregheo
0
66
Getting Under Swift’s Skin
gregheo
0
540
Sanitizing Threads for Fun & Profit
gregheo
0
140
Sanitizing All* The Things
gregheo
0
63
Thirteen Ways of Looking at a View Controller
gregheo
0
130
Five Unbelievable Secrets of Reactive Programming the Experts Don't Want You to Know!
gregheo
3
410
Other Decks in Technology
See All in Technology
AI との良い付き合い方を僕らは誰も知らない
asei
0
190
AI時代の新規LLMプロダクト開発: Findy Insightsを3ヶ月で立ち上げた舞台裏と振り返り
dakuon
0
350
AWS re:Invent 2025~初参加の成果と学び~
kubomasataka
0
160
MariaDB Connector/C のcaching_sha2_passwordプラグインの仕様について
boro1234
0
980
20251219 OpenIDファウンデーション・ジャパン紹介 / OpenID Foundation Japan Intro
oidfj
0
350
障害対応訓練、その前に
coconala_engineer
0
140
アプリにAIを正しく組み込むための アーキテクチャ── 国産LLMの現実と実践
kohju
0
150
2025年 開発生産「可能」性向上報告 サイロ解消からチームが能動性を獲得するまで/ 20251216 Naoki Takahashi
shift_evolve
PRO
2
210
【U/Day Tokyo 2025】Cygames流 最新スマートフォンゲームの技術設計 〜『Shadowverse: Worlds Beyond』におけるアーキテクチャ再設計の挑戦~
cygames
PRO
2
1k
日本Rubyの会: これまでとこれから
snoozer05
PRO
5
210
Fashion×AI「似合う」を届けるためのWEARのAI戦略
zozotech
PRO
2
1k
今年のデータ・ML系アップデートと気になるアプデのご紹介
nayuts
1
610
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
From π to Pie charts
rasagy
0
86
Git: the NoSQL Database
bkeepers
PRO
432
66k
30 Presentation Tips
portentint
PRO
1
170
Code Reviewing Like a Champion
maltzj
527
40k
Speed Design
sergeychernyshev
33
1.4k
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
240
Amusing Abliteration
ianozsvald
0
63
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
0
98
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
86
Game over? The fight for quality and originality in the time of robots
wayneb77
1
64
Transcript
@gregheo ! NSBudapest, May 2018 Shared Exclusive Mutable Immutable
@gregheo ! NSBudapest, May 2018 Data "
@gregheo ! NSBudapest, May 2018 Code Example #
@gregheo ! NSBudapest, May 2018 Exclusive Shared Immutable Mutable
@gregheo ! NSBudapest, May 2018 Exclusive Shared Immutable Mutable
@gregheo ! NSBudapest, May 2018 Exclusive Shared Immutable private let
Screen size / scale Mutable private var private queue $
@gregheo ! NSBudapest, May 2018 Fewer entry points
@gregheo ! NSBudapest, May 2018 Private queues
@gregheo ! NSBudapest, May 2018 Queue Callback
@gregheo ! NSBudapest, May 2018 // call from anywhere!
public func something() { privateQueue.sync { … } }
@gregheo ! NSBudapest, May 2018 // always call on
the main queue! public func something()
@gregheo ! NSBudapest, May 2018 // always call on
the main queue! public func something() { dispatchPrecondition(condition: .onQueue(.main)) }
@gregheo ! NSBudapest, May 2018 Make it difficult to get
wrong
@gregheo ! NSBudapest, May 2018 köszönöm! ☺