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
Swift 5 Exclusivity Enforcement
Search
darquro
February 12, 2019
Technology
4
820
Swift 5 Exclusivity Enforcement
darquro
February 12, 2019
Tweet
Share
More Decks by darquro
See All by darquro
技術的負債を解消してくための組織づくり
darquro
1
970
Jailbreakと向き合おう
darquro
0
2.4k
ラクマでのSwiftUI導入方針とTips / Rakuma SwiftUI Introduction Policy and Tips
darquro
2
5.2k
Half modal comparision in iOS15
darquro
2
2k
2 Years Challenge as Engineering Manager in Rakuma
darquro
0
120
Property Wrappersがもたらす新しいSwiftプログラミング / New Swift programming with Property Wrappers
darquro
3
1.6k
iOS View Class Design Basic
darquro
3
750
SDK連携を用いたAdMob活用法
darquro
1
1k
ContributingSwift
darquro
0
85
Other Decks in Technology
See All in Technology
asken AI勉強会(Android)
tadashi_sato
0
150
OPENLOGI Company Profile
hr01
0
67k
GeminiとNotebookLMによる金融実務の業務革新
abenben
0
250
生成AI時代 文字コードを学ぶ意義を見出せるか?
hrsued
1
750
mrubyと micro-ROSが繋ぐロボットの世界
kishima
3
390
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
2
690
250627 関西Ruby会議08 前夜祭 RejectKaigi「DJ on Ruby Ver.0.1」
msykd
PRO
2
430
KiCadでPad on Viaの基板作ってみた
iotengineer22
0
240
Backlog ユーザー棚卸しRTA、多分これが一番早いと思います
__allllllllez__
1
110
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
180
作曲家がボカロを使うようにPdMはAIを使え
itotaxi
0
410
「良さそう」と「とても良い」の間には 「良さそうだがホンマか」がたくさんある / 2025.07.01 LLM品質Night
smiyawaki0820
1
460
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.7k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
810
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
We Have a Design System, Now What?
morganepeng
53
7.7k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Into the Great Unknown - MozCon
thekraken
39
1.9k
Fireside Chat
paigeccino
37
3.5k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Agile that works and the tools we love
rasmusluckow
329
21k
Adopting Sorbet at Scale
ufuk
77
9.4k
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