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
implementation_for_promise_using_nested_generics
Search
hirose yudai
April 28, 2017
1
910
implementation_for_promise_using_nested_generics
Swift愛好会
#18の登壇内容です
Promiseを実装して見たらこういう風に実装できるね
という流れを説明した資料になります
hirose yudai
April 28, 2017
Tweet
Share
More Decks by hirose yudai
See All by hirose yudai
Write swift macros
bannzai
1
240
Figma => SwiftUI
bannzai
0
160
爆速でクソリプを送る技術
bannzai
1
42
Tsukimi
bannzai
0
59
iOSDC_Reject_Conference_Day1
bannzai
0
230
iOSDC-2019.pdf
bannzai
0
1.2k
ios-de-kanpai
bannzai
0
53
waiwai-swiftc.pdf
bannzai
0
130
iosdcrc-conv.pdf
bannzai
4
580
Featured
See All Featured
Building Applications with DynamoDB
mza
93
6.2k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1.1k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
52k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Making Projects Easy
brettharned
116
6k
Done Done
chrislema
182
16k
Transcript
4XJGUѪձ 4XJGU OFTUFEHFOFSJDTͰ1SPNJTFΛ࣮ͯ͠ΈΑ͏
"HFOEB ࣗݾհ લஔ͖ ޤ৯λΠϜ ຊฤ 1SPNJTF࣮͍͔ͯ͘͠ ͓·͚
ࣗݾհ ໊લኍ༤େ ৬छJ04&OHJOFFS Α͘ษڧձͰࣗ࡞044ʹ͍ͭͯ ͯ͠·͢ɻ໊͍ͭͨ͋ͩ4UBSޤ৯ Ͱ͢ɻ4UBS͍ͩ͘͞ɻ HJUIVCIUUQHJUIVCDPNCBOO[BJ
ޤ৯λΠϜ IUUQTHJUIVCDPNCBOO[BJ,VSJ ,VSJ͍ͬͯ͏ϥΠϒϥϦͷWFSTJPO Λެ։ͨ͠ͷͰҰॠ͚ͩσϞ ͦͬͱελʔ͍ͩ͘͞
ͦΕͰ͓·͚ͱͯ͠
/FTUFEHFOFSJDTΛ༻ͯ͠
1SPNJTF࣮͍͖͠·͠ΐ͏
࣮͢Δલʹ /FTUFEHFOFSJDTͱ 1SPNJTFͱʁ ҙࣄ߲
࣮͢Δલʹ /FTUFEHFOFSJDTͱ 1SPNJTFͱʁ ҙࣄ߲
/FTUFEHFOFSJDTͱ 4XJGU͔Βͷػೳ OFTUͨ͠UZQF DMBTT TUSVDU FOVN ʹ (FOFSJDTΛOFTUͯ͠ద༻Ͱ͖Δ ৄࡉͪ͜ΒIUUQT XXXIBDLJOHXJUITXJGUDPNTXJGU
None
࣮͢Δલʹ /FTUFEHFOFSJDTͱ 1SPNJTFͱʁ ҙࣄ߲
1SPNJTFͱʁ ฒߦॲཧɾඇಉظॲཧΛΑΓ؆୯ʹ͔͚Δ σβΠϯύλʔϯͷҰͭͰ͢ Ұͭ՝Λఏࣔͯͦ͠ΕΛྫʹͯ͠આ໌͠·͢ ৄࡉA1SPNJTF'VUVSFAͰάά͍ͬͯͩ͘͞
ղܾ͍ͨ͠՝ J04ΞϓϦ։ൃͰαʔόʔͱͷ௨৴Λෳߦ ͏߹ʹεοΩϦॻ͖͍ͨ
None
None
None
None
None
None
None
None
1SPNJTFͰ࣮ݱ͍ͨ͜͠ͱ ՝ J04ΞϓϦ։ൃͰαʔόʔͱͷ௨৴Λෳߦ ͏߹ʹεοΩϦॻ͖͍ͨ ˠϝιουνΣΠϯͰ͔͋ͨಉظతʹ࣮ߦ ͍ͯ͠ΔΑ͏ʹॻ͘͜ͱͰՄಡੑΛ͋͛Δ
1SPNJTFͰ࣮ݱ͍ͨ͜͠ͱ ՝ J04ΞϓϦ։ൃͰαʔόʔͱͷ௨৴Λෳߦ ͏߹ʹεοΩϦॻ͖͍ͨ ˠϝιουνΣΠϯͰ͔͋ͨಉظతʹ࣮ߦ ͍ͯ͠ΔΑ͏ʹॻ͘͜ͱͰՄಡੑΛ͋͛Δ
࣮͢Δલʹ /FTUFEHFOFSJDTͱ 1SPNJTFͱʁ ҙࣄ߲
ҙࣄ߲ 1SPNJTF -JLF ͷϥΠϒϥϦ৭ʑͱ͋Γ· ͢ɻ ࠓ͔Β࣮͢Δͷ؆қతͰػೳ͕গͳ͍ ͷΛ࣮͍ͯ͘͠ͷͰɺ͜ͷஊٛͰհ͢Δ ͷ1SPNJTFͷҰ෦ͷಛͱ͍͏͜ͱΛ಄ʹ ஔ͍͓͍͍ͯͯͩ͘͞
None
·ͣҰͭͷྲྀΕ͔Β
ϝιουνΣΠϯΛ࣮ݱ͠Α͏
͜͏͢ΕͰ͖Δ
1SPNJTFͱ͍͏֓೦ΛՃͯ͠
$MPTVSFΛҾʹͱͬͯ 1SPNJTFΛฦͤ
ͱΓ͋͑ͣܨ͍Ͱ͔͚ͨ
ͱΓ͋͑ͣܨ͍Ͱ͔͚ͨ
$MPTVSFʹҾ͕͋Δ
(FOFSJDTʹΑΓ ҾͷܕΛܾΊΔ
࣮ࡍʹΛग़ྗ͍ͨ͠
ϓϩύςΟͰอ࣋ͯ͠
Λͯ͠$MPTVSFΛ࣮ߦ
None
͔͠͠ɺ͜ͷ··ͩͱ Τϥʔͷ࣮࣌ߦͰ͖ͯ͠·͏
ޭͷ࣌ݺΔ
ͳΜ͔ࣄނΓͦ͏
ͲͪΒ͔͚࣮ͩߦ͍ͨ͠
Կ࣮ߦ͞Εͨ͘ͳ͍
None
ͱΓ͋͑ͣࠓ͕ Ͳ͏͍͏ঢ়ଶ͔อ͍࣋ͨ͠
GN
͜ΕͰ͍͚ͦ͏
͏Ұݸ$MPTVSFͰแΜͰ͋͛Δ K K K
SFTPMWFEͷ͚࣮࣌ͩߦ K K K
ͲͪΒ͔͕࣮ߦ͞ΕͨΒྻΛফ͢ K
Ұ࣮ߦͨ͠ޙʹશͯফͯ͠͠·͏ K
࣮ߦ
Α͠
͜ΕͰ͍͍Μ͚ͩͲ
ϦϑΝΫλϦϯά͠Α͏
͕͍͚ͯ͜͜ͳ͍ K
ͦ͜Ͱ
Α͏͓͘લͷग़൪ͩ
ʊਓਓਓਓਓਓਓਓਓʊ ʼɹ/FTUFE(FOFSJDTɹʻ ʉ:?:?:?:?:?:?:?:ʉ
ͷ(FOFSJDTॻ͘
͖ͭ&OVNʹอ࣋
ແཧͳ͘औΓग़ͤΔ
(FOFSJD$BDIF YED DZDMJDNFUBEBUBEFQFOEFODZ EFUFDUFE BCPSUJOH
͋ͱ॥ࢀর͍ͯ͠ΔͷͰXFBLʹ
࣮ߦ
None
ࠓճ͜͜·Ͱ ͪΐͬͱࢿྉ࡞Δ࣌ؒஊٛͷ࣌ؒΓͳ͔ͬͨͷͰࠓճ͜͜ ͰऴΘΒ͍͖ͤͯͨͩ·͢ ΩϞͷ෦આ໌ͨ͠ͷͰޙ AUIFOAϝιουͱ࣮ࡍʹ63-4FTTJPOΛͬͯͲ͏ॻ͚Δ͔Λݴ͑ ͨΒΑ͔ͬͨͳ͋ͱࢥ͍ͬͯ·͢ આ໌͢Δ༧ఆͩͬͨίʔυ(JU)VCʹ্͍͛ͯΔͷͰΑ͔ͬͨΒͦ ͪΒΛݟ͍ͯͩ͘͞ IUUQTHJUIVCDPNCBOO[BJ1SPNJTF%FNP
·ͱΊ OFTUFEHFOFSJDTͷ͍ํͷҰྫͱͯ͠ൃද͠·ͨ͠ɻ ·ͨɺ1SPNJTFͷ෦తͳಈ࡞Λগ͠Ͱ૾͢͠ ͘ͳͬͨͷͰͳ͍Ͱ͠ΐ͏͔ ͱʹ͔͘ͷϦϙδτϦશ෦ʹશͯ4UBS͍ͩ͘͞ IUUQHJUIVCDPNCBOO[BJ
͓͠·͍