Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Swift 5 Exclusivity Enforcement
Search
darquro
February 12, 2019
Technology
4
850
Swift 5 Exclusivity Enforcement
darquro
February 12, 2019
Tweet
Share
More Decks by darquro
See All by darquro
技術的負債を解消してくための組織づくり
darquro
1
990
Jailbreakと向き合おう
darquro
0
2.7k
ラクマでのSwiftUI導入方針とTips / Rakuma SwiftUI Introduction Policy and Tips
darquro
2
5.3k
Half modal comparision in iOS15
darquro
2
2.4k
2 Years Challenge as Engineering Manager in Rakuma
darquro
0
140
Property Wrappersがもたらす新しいSwiftプログラミング / New Swift programming with Property Wrappers
darquro
3
1.7k
iOS View Class Design Basic
darquro
3
820
SDK連携を用いたAdMob活用法
darquro
1
1k
ContributingSwift
darquro
0
92
Other Decks in Technology
See All in Technology
CARTAのAI CoE が挑む「事業を進化させる AI エンジニアリング」 / carta ai coe evolution business ai engineering
carta_engineering
0
2k
Database イノベーショントークを振り返る/reinvent-2025-database-innovation-talk-recap
emiki
0
240
AI駆動開発の実践とその未来
eltociear
1
390
AIBuildersDay_track_A_iidaxs
iidaxs
2
280
生成AI時代におけるグローバル戦略思考
taka_aki
0
210
2025-12-18_AI駆動開発推進プロジェクト運営について / AIDD-Promotion project management
yayoi_dd
0
130
WordPress は終わったのか ~今のWordPress の制作手法ってなにがあんねん?~ / Is WordPress Over? How We Build with WordPress Today
tbshiki
2
850
Lessons from Migrating to OpenSearch: Shard Design, Log Ingestion, and UI Decisions
sansantech
PRO
1
160
Jakarta Agentic AI Specification - Status and Future
reza_rahman
0
110
AI-DLCを現場にインストールしてみた:プロトタイプ開発で分かったこと・やめたこと
recruitengineers
PRO
2
180
Amazon Quick Suite で始める手軽な AI エージェント
shimy
0
910
子育てで想像してなかった「見えないダメージ」 / Unforeseen "hidden burdens" of raising children.
pauli
2
300
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Rails Girls Zürich Keynote
gr2m
95
14k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
0
930
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
0
240
How to Think Like a Performance Engineer
csswizardry
28
2.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Are puppies a ranking factor?
jonoalderson
0
2.3k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
110
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
120
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
500
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Transcript
Re:valua t ion https://fril.jp/ L ead & Delight User F
irst Ownership Fail Smart 4XJGU&YDMVTJWJUZ&OGPSDFNFOU 'FCUI BU4XJGUѪձWPM
.PCJMF&OHJOFFS 3BLVUFO JOD "CPVU.F :VLJ,VSPEB !EBSRVSP !EBSRVSP
None
4XJGU&YDMVTJWJUZ&OGPSDFNFOU IUUQTTXJGUPSHCMPHTXJGUFYDMVTJWJUZ
#BDLHSPVOE
#BDLHSPVOE 4XJGUͰϝϞϦ҆શੑΛ୲อ͢ΔͨΊʹɺ ഉଞతΞΫηε͕ඞཁ
#BDLHSPVOE func modifyTwice(_ value: inout Int, by modifier:
(inout Int) -> ()) { modifier(&value) modifier(&value) } func testCount() { var count = 1 modifyTwice(&count) { $0 += count } print(count) }
#BDLHSPVOE func modifyTwice(_ value: inout Int, by modifier:
(inout Int) -> ()) { modifier(&value) modifier(&value) } func testCount() { var count = 1 modifyTwice(&count) { $0 += count } print(count) } 0WFSMBQQJOHBDDFTTFTUPDPVOU CVUNPEJpDBUJPOSFRVJSFTFYDMVTJWF BDDFTTDPOTJEFSDPQZJOHUPBMPDBMWBSJBCMF
#BDLHSPVOE w ಉ࣌ΞΫηεʹରͯ͠ίϯύΠϥಈ࡞Λอূ͠ͳ͍ w ίϯύΠϥͷΦϓςΟϚΠθʔγϣϯʹΑΓɺ༧ଌͰ ͖ͳ͍ಈ࡞ʹͳΔ͜ͱ͕͋Δɻ w 4XGJUͰഉଞతΞΫηεͷڧ੍Λಋೖͨ͠ɻ
4& IUUQTHJUIVCDPNBQQMFTXJGUFWPMVUJPOCMPCNBTUFSQSPQPTBMTFOGPSDF FYDMVTJWFBDDFTTUPNFNPSZNE
#BDLHSPVOE ίϯύΠϥͷഉଞతΞΫηεͷڧ੍ w ίϯύΠϧ࣌νΣοΫ $PNQJMFUJNF w ࣮ߦ࣌νΣοΫ
3VOUJNF
#BDLHSPVOE 4XJGU 4XJGU $PNQJMFUJNF %FCVH#VJME 3FMFBTF#VJME %FCVH#VJME 3FMFBTF#VJME
3VOUJNF %FCVH#VJME %FCVH#VJME 3FMFBTF#VJME ഉଞతϝϞϦΞΫηεͷEFGBVMUઃఆ
*NQBDUPO4XJGU1SPKFDUT
*NQBDUPO4XJGU1SPKFDUT طଘϓϩδΣΫτͷӨڹ w ഉଞϧʔϧʹҧ͍ͯͯ͠ɺσόοάςετͰ࣮ߦͰ ͖ͳ͔ͬͨίʔυʹରͯ͠Ϋϥογϡ͢ΔՄೳੑ w ύϑΥʔϚϯεʹӨڹ͕ͰΔՄೳੑ͕͋Δɻ w
ಛʹϧʔϓॲཧʹ͓͍ͯҟͳΔΦϒδΣΫτؒͰΞΫηε͢Δ߹ʹҙ͢Δɻ w ΫϥεͷϓϩύςΟͳͲQSJWBUFͱ͔JOUFSOBMʹ͢Δ͜ͱͰίϯύΠϥʹ໌ࣔతʹ ͑ΔͳͲ͕ඞཁɻ
*NQBDUPO4XJGU1SPKFDUT 9DPEFͰl&YDMVTJWF"DDFTTUP.FNPSZzͰมߋͰ͖Δ͕ɺ ύϑΥʔϚϯε༏ઌͷͨΊͷϦϦʔεϏϧυͰແޮʹ͢Δ͜ͱ ਪ͠ͳ͍ɻ ΫϥογϡϝϞϦഁյͳͲ༧ظ͠ͳ͍ڍಈΛট͘Մೳੑ
&YBNQMFT
&YBNQMF func modifyTwice(_ value: inout Int, by modifier:
(inout Int) -> ()) { modifier(&value) modifier(&value) } func testCount() { var count = 1 let incrementBy = count modifyTwice(&count) { $0 += incrementBy } print(count) }
&YBNQMF func modifyTwice(_ value: inout Int, by modifier:
(inout Int) -> ()) { modifier(&value) modifier(&value) } var count = 1 modifyTwice(&count) { $0 += count } print(count) 4JNVMUBOFPVTBDDFTTUPY CVUNPEJpDBUJPOSFRVJSFTFYDMVTJWFBDDFTT
.PUJWBUJPO
.PUJWBUJPO ϓϩάϥϜͷن͕େ͖͘ͳΔʹͭΕɺͲ͜ͰͲ͏ ͕มߋ͞ΕΔͷ͔ঢ়ଶ͕༧ଌͰ͖ͳ͍ ݴޠ༷ͱͯ͠༧ଌෆೳͳৼΔ͍Λഉআ "#*҆ఆੑʹෆՄܽ
ύϑΥʔϚϯεͷ࠷దԽ 0XOFSTIJQͱNPWFPOMZUZQFTʹඞཁ
·ͱΊ
4XJGU&YDMVTJWJUZ&OGPSDFNFOU w 4XJGUͰഉଞతϝϞϦΞΫηεͷ࣮ߦ࣌νΣοΫ͕ ϦϦʔεϏϧυͰσϑΥϧτ༗ޮͱͳΔ w 4XJGUͷ҆શੑɺݎ࿚ੑ͕ڧԽ w ύϑΥʔϚϯεʹର͢ΔΦϓςΟϚΠθʔγϣϯͷ্
5IBOLZPVGPSMJTUFOJOH