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
Fun with Swift 4 KeyPaths
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
John Estropia
September 17, 2017
Technology
1
650
Fun with Swift 4 KeyPaths
My Lightning Talk at iOSDC 2017 Japan
John Estropia
September 17, 2017
Tweet
Share
More Decks by John Estropia
See All by John Estropia
WWDC Party Intro to CoreStore
johnestropia
0
64
Making an Efficient Deploy Bot
johnestropia
0
450
Creating Keyboard Extensions
johnestropia
0
81
Making Sense of Neural Network Training
johnestropia
0
84
My journey taming Core Data: An intro to the CoreStore library
johnestropia
0
170
Pairs JP Team's iOS Deployment
johnestropia
0
950
Making Slackbots deploy iOS apps for you
johnestropia
2
230
OSSの作法(本題)
johnestropia
0
80
Other Decks in Technology
See All in Technology
【Oracle Cloud ウェビナー】[Oracle AI Database + AWS] Oracle Database@AWSで広がるクラウドの新たな選択肢とAI時代のデータ戦略
oracle4engineer
PRO
2
150
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.4k
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
1.8k
SRE Enabling戦記 - 急成長する組織にSREを浸透させる戦いの歴史
markie1009
0
120
Bill One 開発エンジニア 紹介資料
sansan33
PRO
5
17k
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.9k
マーケットプレイス版Oracle WebCenter Content For OCI
oracle4engineer
PRO
5
1.6k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
Introduction to Bill One Development Engineer
sansan33
PRO
0
360
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.3k
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
140
Featured
See All Featured
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
190
SEO for Brand Visibility & Recognition
aleyda
0
4.2k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.3k
How to make the Groovebox
asonas
2
1.9k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
310
How to Think Like a Performance Engineer
csswizardry
28
2.4k
RailsConf 2023
tenderlove
30
1.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
780
Leo the Paperboy
mayatellez
4
1.4k
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!
େืूதʂ