0QUJPOBM ͦͷޙ)JEFBLJ5BNBJ1PUBUPUJQT+VMZ
View Slide
ࣗݾհ)JEFBLJ5BNBJɾ.POFZ'PSXBSE *ODɾJ04ΞϓϦΤϯδχΞɾ͘͘͢͢ʂࢠҭͯΤϯδχΞ.FFUVQUBNBEPO!UBNBEPO
[email protected]0QUJPOBM ͚͋·͓ͯ͠ΊͰͱ͏͍͟͝·͢
͜ΕΛػʹXBSOJOHΛ໓ࣾ͘͢J04ΤϯδχΞ͕෦ॺΛӽ͑ͯऔΓΈ·ͨ͠௨ৗͷػೳ։ൃͱฒߦͯ͠ϲ݄
Before
ͬͨ͜ͱͦͷ̍4XJGU-JOU"VUPDPSSFDU
Πϯσϯτͷௐ͚͔ͩͱࢥͬͯͨΒɺ؆୯ͳwarningमਖ਼ͯ͘͠Εͨfunc validate(_ input :(hoge: Fuga)) throws -> Void {func validate(_ input :(hoge: Fuga)) throws {
ͬͨ͜ͱͦͷ̎γϡοͱͤͦ͏ͳXBSOJOHΛফ͢
- public final class Hoge: Fuga {+ public class Hoge: Fuga {- network.request(request) { _ in }+ _ = network.request(request) { _ in }ྫʣ͜͏͍͏ͭ
͋ͱͪͪ͘͘ಓʹXBSOJOHΛͭͿ͍ͯͬͨ͠
ਏ͔ͬͨͭ
Ұ෦ͷϥΠϒϥϦ͕$PDPB1PETܦ༝͡Όͳ͍ํ๏Ͱಋೖͯ͋͠Δʢେ$PDPB1PETܦ༝ʣwͲͷόʔδϣϯΛͬͯΔ͔͔Βͳ͍ͷͰ࠷৽ʹΞοϓσʔτͨ࣌͠ͷӨڹൣғ͕ݟ͑ͣɺΞοϓσʔτͯ͠ྑ͍ͷ͔ෆ໌w͔͠Ұ෦ಠ࣮ࣗΛՃͯͬͯ͠Δͭ͋Δ
ಠ࣮ࣗΛՃͯ͠ͳ͍ϥΠϒϥϦwϥΠϒϥϦͷόʔδϣϯΛίϛοτϩά͔Βਪଌ͠ӨڹൣғΛௐࠪw$PDPB1PETʹҠߦ
ಠ࣮ࣗΛՃͯ͠ΔϥΠϒϥϦw൚༻తͳػೳՃͩͬͨͷͰɺϥΠϒϥϦΛGPSLͯ͠ຊՈʹQVMMSFRVFTUΛग़ͨ͠wऔΓࠐ·Εͳ͔ͬͨϥΠϒϥϦGPSLFESFQPTJUPSZͷϥΠϒϥϦΛ$PDPB1PETͰΠϯετʔϧ
After
After Ϗϧυʹ͔͔Δ͕࣌ؒϝνϟॖ͞ΕͨXBSOJOHআ͚ͩͰͳ͘ɺ4XJGUରԠίϯύΠϧΦϓγϣϯͷมߋޮՌ͕͋ͬͨͱࢥΘΕΔ
࠷ޙͷXBSOJOH՝ۚͷϨγʔτ͕J04ܗࣜˠݱࡏରԠத
XBSOJOHΛ૿͞ͳ͍औΓΈ
ҰྫɾϏϧυ࣌ʹ4XJGU-JOU"VUPDPSSFDU࣮ߦɾϏϧυʹNTҎ্͔͔͍ͬͯΔॲཧͰXBSOJOHɾ4JEFSʢNJTTQFMMʣಋೖɾ%BOHFSಋೖ
·ͱΊw ݹ͔͘Βӡ༻͞Ε͍ͯΔϓϩμΫτͰؤுͬͯऔΓΊɺXBSOJOHΛ΄΅̌ʹग़དྷΔw ϏϧυॖͷऔΓΈग़དྷͯϏϧυ͕࣌ؒ·Ͱॖग़དྷͨw ෦ॺΛ·͍ͨͰXBSOJOH໓ʹऔΓΜͩͷͰɺࣾͷJ04ΤϯδχΞͰXBSOJOHϦϑΝΫλϦϯάʹର͢Δҙ͕ࣝߴ·ͬͨw XBSOJOHΛݮΒͯ͠ຬ͢ΔͷͰͳ͘ɺ૿͞ͳ͍Έͷߏங͕େࣄ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠