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
930
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
300
Figma => SwiftUI
bannzai
0
210
爆速でクソリプを送る技術
bannzai
1
71
Tsukimi
bannzai
0
86
iOSDC_Reject_Conference_Day1
bannzai
0
260
iOSDC-2019.pdf
bannzai
0
1.4k
ios-de-kanpai
bannzai
0
82
waiwai-swiftc.pdf
bannzai
0
170
iosdcrc-conv.pdf
bannzai
4
630
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The Curious Case for Waylosing
cassininazir
0
200
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
Navigating Weather and Climate Data
rabernat
0
57
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
A Tale of Four Properties
chriscoyier
162
23k
We Have a Design System, Now What?
morganepeng
54
8k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
250
Being A Developer After 40
akosma
91
590k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
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
͓͠·͍