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
920
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
270
Figma => SwiftUI
bannzai
0
180
爆速でクソリプを送る技術
bannzai
1
55
Tsukimi
bannzai
0
68
iOSDC_Reject_Conference_Day1
bannzai
0
240
iOSDC-2019.pdf
bannzai
0
1.3k
ios-de-kanpai
bannzai
0
64
waiwai-swiftc.pdf
bannzai
0
150
iosdcrc-conv.pdf
bannzai
4
610
Featured
See All Featured
Speed Design
sergeychernyshev
32
1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
KATA
mclloyd
30
14k
Producing Creativity
orderedlist
PRO
346
40k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
48
2.9k
GraphQLとの向き合い方2022年版
quramy
49
14k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Adopting Sorbet at Scale
ufuk
77
9.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
281
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
45
7.5k
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
͓͠·͍