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
830
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.5k
ラクマでのSwiftUI導入方針とTips / Rakuma SwiftUI Introduction Policy and Tips
darquro
2
5.2k
Half modal comparision in iOS15
darquro
2
2.1k
2 Years Challenge as Engineering Manager in Rakuma
darquro
0
130
Property Wrappersがもたらす新しいSwiftプログラミング / New Swift programming with Property Wrappers
darquro
3
1.7k
iOS View Class Design Basic
darquro
3
760
SDK連携を用いたAdMob活用法
darquro
1
1k
ContributingSwift
darquro
0
86
Other Decks in Technology
See All in Technology
バクラクによるコーポレート業務の自動運転 #BetAIDay
layerx
PRO
1
830
Unson OS|48時間で「売れるか」を判定する AI 市場検証プラットフォーム
unson
0
170
S3 Glacier のデータを Athena からクエリしようとしたらどうなるのか/try-to-query-s3-glacier-from-athena
emiki
0
180
オブザーバビリティプラットフォーム開発におけるオブザーバビリティとの向き合い / Hatena Engineer Seminar #34 オブザーバビリティの実現と運用編
arthur1
0
340
ソフトウェア開発プロジェクトでの品質管理への提案(温故知新)
yohwada
0
110
LLMでAI-OCR、実際どうなの? / llm_ai_ocr_layerx_bet_ai_day_lt
sbrf248
0
430
相互運用可能な学修歴クレデンシャルに向けた標準技術と国際動向
fujie
0
200
LLMで構造化出力の成功率をグンと上げる方法
keisuketakiguchi
0
240
MCP認可の現在地と自律型エージェント対応に向けた課題 / MCP Authorization Today and Challenges to Support Autonomous Agents
yokawasa
5
1.7k
Tableau API連携の罠!?脱スプシを夢見たはずが、逆に依存を深めた話
cuebic9bic
3
210
ロールが細分化された組織でSREと協働するインフラエンジニアは何をするか? / SRE Lounge #18
kossykinto
0
110
ホリスティックテスティングの右側も大切にする 〜2つの[はか]る〜 / Holistic Testing: Right Side Matters
nihonbuson
PRO
0
570
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Fireside Chat
paigeccino
37
3.6k
Scaling GitHub
holman
461
140k
The Pragmatic Product Professional
lauravandoore
36
6.8k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
110
19k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Faster Mobile Websites
deanohume
308
31k
Git: the NoSQL Database
bkeepers
PRO
431
65k
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