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
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
63
Making an Efficient Deploy Bot
johnestropia
0
440
Creating Keyboard Extensions
johnestropia
0
75
Making Sense of Neural Network Training
johnestropia
0
80
My journey taming Core Data: An intro to the CoreStore library
johnestropia
0
160
Pairs JP Team's iOS Deployment
johnestropia
0
940
Making Slackbots deploy iOS apps for you
johnestropia
2
220
OSSの作法(本題)
johnestropia
0
80
Other Decks in Technology
See All in Technology
「Verify with Wallet API」を アプリに導入するために
hinakko
1
260
KMP の Swift export
kokihirokawa
0
340
Goに育てられ開発者向けセキュリティ事業を立ち上げた僕が今向き合う、AI × セキュリティの最前線 / Go Conference 2025
flatt_security
0
360
E2Eテスト設計_自動化のリアル___Playwrightでの実践とMCPの試み__AIによるテスト観点作成_.pdf
findy_eventslides
1
530
AWS IoT 超入門 2025
hattori
0
250
[Keynote] What do you need to know about DevEx in 2025
salaboy
0
120
Access-what? why and how, A11Y for All - Nordic.js 2025
gdomiciano
1
120
OpenAI gpt-oss ファインチューニング入門
kmotohas
2
1.1k
Adminaで実現するISMS/SOC2運用の効率化 〜 アカウント管理編 〜
shonansurvivors
4
400
"プロポーザルってなんか怖そう"という境界を超えてみた@TSUDOI by giftee Tech #1
shilo113
0
150
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
3
330
いま注目しているデータエンジニアリングの論点
ikkimiyazaki
0
630
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
580
Writing Fast Ruby
sferik
629
62k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
114
20k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Bash Introduction
62gerente
615
210k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.5k
Visualization
eitanlees
148
16k
We Have a Design System, Now What?
morganepeng
53
7.8k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.3k
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!
େืूதʂ