Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Fun with Swift 4 KeyPaths
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
John Estropia
September 17, 2017
Technology
660
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Fun with Swift 4 KeyPaths
My Lightning Talk at iOSDC 2017 Japan
John Estropia
September 17, 2017
More Decks by John Estropia
See All by John Estropia
WWDC Party Intro to CoreStore
johnestropia
0
75
Making an Efficient Deploy Bot
johnestropia
0
460
Creating Keyboard Extensions
johnestropia
0
91
Making Sense of Neural Network Training
johnestropia
0
110
My journey taming Core Data: An intro to the CoreStore library
johnestropia
0
190
Pairs JP Team's iOS Deployment
johnestropia
0
980
Making Slackbots deploy iOS apps for you
johnestropia
2
250
OSSの作法(本題)
johnestropia
0
100
Other Decks in Technology
See All in Technology
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
2
900
業務でAWSをあまり使っていない私が、AWSへのモチベを保つ方法
smt7174
0
180
bpf_arenaとstruct_opsを使うのが難しかった話
masu_mi
0
210
DBTS2026 盛り上がってますか!?Databricksが実現するAI時代のデータ基盤
akuwano
1
190
超⼩型・多⾔語検索モデル Bekko Embedding
hotchpotch
1
130
eBPF 簡介 2026 版
shunghsiyu
0
190
ライフワーク「猫でもわかるDirectConnect」
kentapapa
0
280
PostgreSQL オプティマイザ統計の秘密
nori_shinoda
0
410
cdkd (CDK Direct)
gotok365
4
270
re:Invent の去年のスケジュールを公開します!
miu_crescent
PRO
0
320
AWS構成から考えるWebセキュリティ ― WordPressの構築経験から考える公開範囲と更新運用【JAWS FESTA 2026 in AKITA】
cscengineer
PRO
2
360
Gifu WordPress Meetup #200 に向けて、私たちには何ができるだろうか?/ 2026-11-07 Gifu WordPress Meetup
torounit
0
230
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
440
Everyday Curiosity
cassininazir
0
390
A Soul's Torment
seathinner
8
3.9k
Making the Leap to Tech Lead
cromwellryan
135
10k
Building the Perfect Custom Keyboard
takai
2
950
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Ruling the World: When Life Gets Gamed
codingconduct
0
430
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Exploring anti-patterns in Rails
aemeredith
4
560
Become a Pro
speakerdeck
PRO
31
6.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Transcript
Fun with Swift 4 KeyPaths iOSDC 2017 John Estropia
• @JohnEstropia • Senior Engineer @ • iOS։ൃ • OSS
ࣗݾհ http://github.com/JohnEstropia/CoreStore
Swift 4 Smart Keypaths
KVC: Before vs. After Swift 3 Swift 4
KVC: Before vs. After Swift 3 Swift 4
KVO: After Swift 4
Fun with Swift 4 KeyPaths
Predicates (Before)
͜ͷॻ͖ํ͕Ͱ͖Δͱ࠷ߴͰ͠ΐ͏ʁ
͜ͷॻ͖ํ͕Ͱ͖Δͱ࠷ߴͰ͠ΐ͏ʁ
KeyPath × Generics × Custom Operator
Custom Operator
KeyPath Generics
KeyPath Generics ͕͜͜Smartʂ
KeyPath→String
ൿີຐ๏property KeyPath→String
Nice Predicates
Sample: CoreStore ( prototype/queryBuilders branch )
Sample: CoreStore ( prototype/queryBuilders branch )
Ҏ্ɺThanks!
େืूதʂ