Upgrade to Pro — share decks privately, control downloads, hide ads and more …

About conv

About conv

Swift愛好会で発表した内容

https://love-swift.connpass.com/event/95739/

Conv について発表してきました

hirose yudai

August 18, 2018
Tweet

More Decks by hirose yudai

Other Decks in Technology

Transcript

  1. ैདྷͷ%BUB4PVSDFͷఆٛ QVCMJDGVODDPMMFDUJPO7JFX @DPMMFDUJPO7JFX6*$PMMFDUJPO7JFX OVNCFS0G*UFNT*O4FDUJPOTFDUJPO*OU *OU\ TXJUDITFDUJPO\ DBTF SFUVSO DBTF SFUVSOVTFSUFBNTDPVOU

    DBTF SFUVSOVTFSJUFNTDPVOU EFGBVMU GBUBM&SSPS  ^ ^ QVCMJDGVODDPMMFDUJPO7JFX @DPMMFDUJPO7JFX6*$PMMFDUJPO7JFX DFMM'PS*UFN"UJOEFY1BUI*OEFY1BUI 6*$PMMFDUJPO7JFX$FMM\ TXJUDI JOEFY1BUITFDUJPO JOEFY1BUIJUFN \ DBTF    MFUDFMMDPMMFDUJPO7JFXEFRVFVF3FVTBCMF$FMM XJUI3FVTF*EFOUJpFS"$FMM GPSJOEFY1BUI BT6TFS$FMM DFMMTFUVQ XJUIVTFS  SFUVSODFMM DBTF  @  MFUDFMMDPMMFDUJPO7JFXEFRVFVF3FVTBCMF$FMM XJUI3FVTF*EFOUJpFS#$FMM GPSJOEFY1BUI BT5FBN$FMM DFMMTFUVQ XJUIVTFSUFBNT<JOEFY1BUIJUFN>  SFUVSODFMM DBTF  @ ʜ EFGBVMU GBUBM&SSPS  ^ ^
  2. ैདྷͷ%BUB4PVSDFͷఆٛ QVCMJDGVODDPMMFDUJPO7JFX @DPMMFDUJPO7JFX6*$PMMFDUJPO7JFX OVNCFS0G*UFNT*O4FDUJPOTFDUJPO*OU *OU\ TXJUDITFDUJPO\ DBTF SFUVSO DBTF SFUVSOVTFSUFBNTDPVOU

    DBTF SFUVSOVTFSJUFNTDPVOU EFGBVMU GBUBM&SSPS  ^ ^ QVCMJDGVODDPMMFDUJPO7JFX @DPMMFDUJPO7JFX6*$PMMFDUJPO7JFX DFMM'PS*UFN"UJOEFY1BUI*OEFY1BUI 6*$PMMFDUJPO7JFX$FMM\ TXJUDI JOEFY1BUITFDUJPO JOEFY1BUIJUFN \ DBTF    MFUDFMMDPMMFDUJPO7JFXEFRVFVF3FVTBCMF$FMM XJUI3FVTF*EFOUJpFS"$FMM GPSJOEFY1BUI BT6TFS$FMM DFMMTFUVQ XJUIVTFS  SFUVSODFMM DBTF  @  MFUDFMMDPMMFDUJPO7JFXEFRVFVF3FVTBCMF$FMM XJUI3FVTF*EFOUJpFS#$FMM GPSJOEFY1BUI BT5FBN$FMM DFMMTFUVQ XJUIVTFSUFBNT<JOEFY1BUIJUFN>  SFUVSODFMM DBTF  @ ʜ EFGBVMU GBUBM&SSPS  ^ ^ ύλʔϯϚον͠ͳ͍৔߹ͷGBUBM&SSPS
  3. ैདྷͷ%BUB4PVSDFͷఆٛ QVCMJDGVODDPMMFDUJPO7JFX @DPMMFDUJPO7JFX6*$PMMFDUJPO7JFX OVNCFS0G*UFNT*O4FDUJPOTFDUJPO*OU *OU\ TXJUDITFDUJPO\ DBTF SFUVSO DBTF SFUVSOVTFSUFBNTDPVOU

    DBTF SFUVSOVTFSJUFNTDPVOU EFGBVMU GBUBM&SSPS  ^ ^ QVCMJDGVODDPMMFDUJPO7JFX @DPMMFDUJPO7JFX6*$PMMFDUJPO7JFX DFMM'PS*UFN"UJOEFY1BUI*OEFY1BUI 6*$PMMFDUJPO7JFX$FMM\ TXJUDI JOEFY1BUITFDUJPO JOEFY1BUIJUFN \ DBTF    MFUDFMMDPMMFDUJPO7JFXEFRVFVF3FVTBCMF$FMM XJUI3FVTF*EFOUJpFS"$FMM GPSJOEFY1BUI BT6TFS$FMM DFMMTFUVQ XJUIVTFS  SFUVSODFMM DBTF  @  MFUDFMMDPMMFDUJPO7JFXEFRVFVF3FVTBCMF$FMM XJUI3FVTF*EFOUJpFS#$FMM GPSJOEFY1BUI BT5FBN$FMM DFMMTFUVQ XJUIVTFSUFBNT<JOEFY1BUIJUFN>  SFUVSODFMM DBTF  @ ʜ EFGBVMU GBUBM&SSPS  ^ ^ 'PSDFVOXSBQ
  4. ैདྷͷ%BUB4PVSDFͷఆٛ QVCMJDGVODDPMMFDUJPO7JFX @DPMMFDUJPO7JFX6*$PMMFDUJPO7JFX OVNCFS0G*UFNT*O4FDUJPOTFDUJPO*OU *OU\ TXJUDITFDUJPO\ DBTF SFUVSO DBTF SFUVSOVTFSUFBNTDPVOU

    DBTF SFUVSOVTFSJUFNTDPVOU EFGBVMU GBUBM&SSPS  ^ ^ QVCMJDGVODDPMMFDUJPO7JFX @DPMMFDUJPO7JFX6*$PMMFDUJPO7JFX DFMM'PS*UFN"UJOEFY1BUI*OEFY1BUI 6*$PMMFDUJPO7JFX$FMM\ TXJUDI JOEFY1BUITFDUJPO JOEFY1BUIJUFN \ DBTF    MFUDFMMDPMMFDUJPO7JFXEFRVFVF3FVTBCMF$FMM XJUI3FVTF*EFOUJpFS"$FMM GPSJOEFY1BUI BT6TFS$FMM DFMMTFUVQ XJUIVTFS  SFUVSODFMM DBTF  @  MFUDFMMDPMMFDUJPO7JFXEFRVFVF3FVTBCMF$FMM XJUI3FVTF*EFOUJpFS#$FMM GPSJOEFY1BUI BT5FBN$FMM DFMMTFUVQ XJUIVTFSUFBNT<JOEFY1BUIJUFN>  SFUVSODFMM DBTF  @ ʜ EFGBVMU GBUBM&SSPS  ^ ^ ͲΕ͕ͲΕ
  5. ैདྷͷ%FMFHBUFͷఆٛ QVCMJDGVODDPMMFDUJPO7JFX @DPMMFDUJPO7JFX6*$PMMFDUJPO7JFX MBZPVUDPMMFDUJPO7JFX-BZPVU6*$PMMFDUJPO7JFX-BZPVU  TJ[F'PS*UFN"UJOEFY1BUI*OEFY1BUI $(4J[F\ TXJUDI JOEFY1BUITFDUJPO JOEFY1BUIJUFN

    \ DBTF  @  SFUVSO$(4J[F XJEUI IFJHIU  DBTF    SFUVSO$(4J[F XJEUI IFJHIU  EFGBVMU GBUBM&SSPS  ^ ^  QVCMJDGVODDPMMFDUJPO7JFX @DPMMFDUJPO7JFX6*$PMMFDUJPO7JFX EJE4FMFDU*UFN"UJOEFY1BUI*OEFY1BUI \ TXJUDI JOEFY1BUITFDUJPO JOEFY1BUIJUFN \ DBTF  @  EPTPNFUIJOH DBTF    EPTPNFUIJOH EFGBVMU GBUBM&SSPS  ^
  6. ैདྷͷ%FMFHBUFͷఆٛ QVCMJDGVODDPMMFDUJPO7JFX @DPMMFDUJPO7JFX6*$PMMFDUJPO7JFX MBZPVUDPMMFDUJPO7JFX-BZPVU6*$PMMFDUJPO7JFX-BZPVU  TJ[F'PS*UFN"UJOEFY1BUI*OEFY1BUI $(4J[F\ TXJUDI JOEFY1BUITFDUJPO JOEFY1BUIJUFN

    \ DBTF  @  SFUVSO$(4J[F XJEUI IFJHIU  DBTF    SFUVSO$(4J[F XJEUI IFJHIU  EFGBVMU GBUBM&SSPS  ^ ^  QVCMJDGVODDPMMFDUJPO7JFX @DPMMFDUJPO7JFX6*$PMMFDUJPO7JFX EJE4FMFDU*UFN"UJOEFY1BUI*OEFY1BUI \ TXJUDI JOEFY1BUITFDUJPO JOEFY1BUIJUFN \ DBTF  @  EPTPNFUIJOH DBTF    EPTPNFUIJOH EFGBVMU GBUBM&SSPS  ^ ಉ͡໰୊Λ͸ΒΜͰ͍Δ
  7. FOVN4FDUJPO5ZQF\  DBTFVTFS  DBTFJUFNT  DBTFUFBNT ^ DPMMFDUJPO7JFX DPOW

     DSFBUF GPS4FDUJPO5ZQFBMM$BTFT \ TFDUJPO5ZQF TFDUJPO JO  TXJUDITFDUJPO5ZQF\   DBTFVTFS    TFDUJPODSFBUF\ JUFN*UFN6TFS$FMM JO    JUFNSFVTBCMF*EFOUJpFS"$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIVTFS     ^    JUFNTJ[F$(4J[F      ^   DBTFJUFNT    TFDUJPODSFBUF GPSVTFSUFBNT JUFNT\UFBN JUFN*UFN5FBN$FMMJO    JUFNSFVTBCMF*EFOUJpFS#$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIUFBN     ^    JUFNTJ[F$(4J[F      ^   DBTFUFBNT      ^ ^
  8. FOVN4FDUJPO5ZQF\  DBTFVTFS  DBTFJUFNT  DBTFUFBNT ^ DPMMFDUJPO7JFX DPOW

     DSFBUF GPS4FDUJPO5ZQFBMM$BTFT \ TFDUJPO5ZQF TFDUJPO JO  TXJUDITFDUJPO5ZQF\   DBTFVTFS    TFDUJPODSFBUF\ JUFN*UFN6TFS$FMM JO    JUFNSFVTBCMF*EFOUJpFS"$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIVTFS     ^    JUFNTJ[F$(4J[F      ^   DBTFJUFNT    TFDUJPODSFBUF GPSVTFSUFBNT JUFNT\UFBN JUFN*UFN5FBN$FMMJO    JUFNSFVTBCMF*EFOUJpFS#$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIUFBN     ^    JUFNTJ[F$(4J[F      ^   DBTFUFBNT      ^ ^ DPOW ͍ͬͯ͏ϝιου͔Β࢝·ͬͯ
  9. FOVN4FDUJPO5ZQF\  DBTFVTFS  DBTFJUFNT  DBTFUFBNT ^ DPMMFDUJPO7JFX DPOW

     DSFBUF GPS4FDUJPO5ZQFBMM$BTFT \ TFDUJPO5ZQF TFDUJPO JO  TXJUDITFDUJPO5ZQF\   DBTFVTFS    TFDUJPODSFBUF\ JUFN*UFN6TFS$FMM JO    JUFNSFVTBCMF*EFOUJpFS"$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIVTFS     ^    JUFNTJ[F$(4J[F      ^   DBTFJUFNT    TFDUJPODSFBUF GPSVTFSUFBNT JUFNT\UFBN JUFN*UFN5FBN$FMMJO    JUFNSFVTBCMF*EFOUJpFS#$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIUFBN     ^    JUFNTJ[F$(4J[F      ^   DBTFUFBNT      ^ ^ ౉ͨ͠഑ྻͷ෼͚ͩ4FDUJPO͕Ͱ͖Δ
  10. FOVN4FDUJPO5ZQF\  DBTFVTFS  DBTFJUFNT  DBTFUFBNT ^ DPMMFDUJPO7JFX DPOW

     DSFBUF GPS4FDUJPO5ZQFBMM$BTFT \ TFDUJPO5ZQF TFDUJPO JO  TXJUDITFDUJPO5ZQF\   DBTFVTFS    TFDUJPODSFBUF\ JUFN*UFN6TFS$FMM JO    JUFNSFVTBCMF*EFOUJpFS"$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIVTFS     ^    JUFNTJ[F$(4J[F      ^   DBTFJUFNT    TFDUJPODSFBUF GPSVTFSUFBNT JUFNT\UFBN JUFN*UFN5FBN$FMMJO    JUFNSFVTBCMF*EFOUJpFS#$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIUFBN     ^    JUFNTJ[F$(4J[F      ^   DBTFUFBNT      ^ ^ ഑ྻͷཁૉͱ4FDUJPOΛఆٛ͢ΔͨΊͷม਺͕౉ͬͯ͘Δ
  11. FOVN4FDUJPO5ZQF\  DBTFVTFS  DBTFJUFNT  DBTFUFBNT ^ DPMMFDUJPO7JFX DPOW

     DSFBUF GPS4FDUJPO5ZQFBMM$BTFT \ TFDUJPO5ZQF TFDUJPO JO  TXJUDITFDUJPO5ZQF\   DBTFVTFS    TFDUJPODSFBUF\ JUFN*UFN6TFS$FMM JO    JUFNSFVTBCMF*EFOUJpFS"$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIVTFS     ^    JUFNTJ[F$(4J[F      ^   DBTFJUFNT    TFDUJPODSFBUF GPSVTFSUFBNT JUFNT\UFBN JUFN*UFN5FBN$FMMJO    JUFNSFVTBCMF*EFOUJpFS#$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIUFBN     ^    JUFNTJ[F$(4J[F      ^   DBTFUFBNT      ^ ^ 4FDUJPOͷதʹ*UFNΛ࡞Δ
  12. FOVN4FDUJPO5ZQF\  DBTFVTFS  DBTFJUFNT  DBTFUFBNT ^ DPMMFDUJPO7JFX DPOW

     DSFBUF GPS4FDUJPO5ZQFBMM$BTFT \ TFDUJPO5ZQF TFDUJPO JO  TXJUDITFDUJPO5ZQF\   DBTFVTFS    TFDUJPODSFBUF\ JUFN*UFN6TFS$FMM JO    JUFNSFVTBCMF*EFOUJpFS"$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIVTFS     ^    JUFNTJ[F$(4J[F      ^   DBTFJUFNT    TFDUJPODSFBUF GPSVTFSUFBNT JUFNT\UFBN JUFN*UFN5FBN$FMMJO    JUFNSFVTBCMF*EFOUJpFS#$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIUFBN     ^    JUFNTJ[F$(4J[F      ^   DBTFUFBNT      ^ ^ ഑ྻΛ౉ͨ͠਺͚ͩ4FDUJPOͷதʹ*UFNΛ࡞Δ
  13. FOVN4FDUJPO5ZQF\  DBTFVTFS  DBTFJUFNT  DBTFUFBNT ^ DPMMFDUJPO7JFX DPOW

     DSFBUF GPS4FDUJPO5ZQFBMM$BTFT \ TFDUJPO5ZQF TFDUJPO JO  TXJUDITFDUJPO5ZQF\   DBTFVTFS    TFDUJPODSFBUF\ JUFN*UFN6TFS$FMM JO    JUFNSFVTBCMF*EFOUJpFS"$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIVTFS     ^    JUFNTJ[F$(4J[F      ^   DBTFJUFNT    TFDUJPODSFBUF GPSVTFSUFBNT JUFNT\UFBN JUFN*UFN5FBN$FMMJO    JUFNSFVTBCMF*EFOUJpFS#$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIUFBN     ^    JUFNTJ[F$(4J[F      ^   DBTFUFBNT      ^ ^ ഑ྻͷཁૉͱ*UFNΛ ఆٛ͢ΔͨΊͷม਺͕౉ͬͯ͘Δ
  14. FOVN4FDUJPO5ZQF\  DBTFVTFS  DBTFJUFNT  DBTFUFBNT ^ DPMMFDUJPO7JFX DPOW

     DSFBUF GPS4FDUJPO5ZQFBMM$BTFT \ TFDUJPO5ZQF TFDUJPO JO  TXJUDITFDUJPO5ZQF\   DBTFVTFS    TFDUJPODSFBUF\ JUFN*UFN6TFS$FMM JO    JUFNSFVTBCMF*EFOUJpFS"$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIVTFS     ^    JUFNTJ[F$(4J[F      ^   DBTFJUFNT    TFDUJPODSFBUF GPSVTFSUFBNT JUFNT\UFBN JUFN*UFN5FBN$FMMJO    JUFNSFVTBCMF*EFOUJpFS#$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIUFBN     ^    JUFNTJ[F$(4J[F      ^   DBTFUFBNT      ^ ^ DFMM'PSʜTJ[F'PSʜͷϝιουΛ ϥοϓͨؔ͠਺Ͱ$FMMͷ৘ใΛఆٛͰ͖ͯ
  15. FOVN4FDUJPO5ZQF\  DBTFVTFS  DBTFJUFNT  DBTFUFBNT ^ DPMMFDUJPO7JFX DPOW

     DSFBUF GPS4FDUJPO5ZQFBMM$BTFT \ TFDUJPO5ZQF TFDUJPO JO  TXJUDITFDUJPO5ZQF\   DBTFVTFS    TFDUJPODSFBUF\ JUFN*UFN6TFS$FMM JO    JUFNSFVTBCMF*EFOUJpFS"$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIVTFS     ^    JUFNTJ[F$(4J[F      ^   DBTFJUFNT    TFDUJPODSFBUF GPSVTFSUFBNT JUFNT\UFBN JUFN*UFN5FBN$FMMJO    JUFNSFVTBCMF*EFOUJpFS#$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIUFBN     ^    JUFNTJ[F$(4J[F      ^   DBTFUFBNT      ^ ^ ΫϩʔδϟͰ౉ͬͯ͘Δ$FMM͸(FOFSJDTͰΩϟετࡁΈ
  16. DPMMFDUJPO7JFX DPOW  DSFBUF GPS4FDUJPO5ZQFBMM$BTFT \ TFDUJPO5ZQF TFDUJPO JO 

    TXJUDITFDUJPO5ZQF\   DBTFVTFS    TFDUJPODSFBUF\ JUFN*UFN6TFS$FMM JO    JUFNSFVTBCMF*EFOUJpFS"$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIVTFS     ^    JUFNTJ[F$(4J[F      ^   DBTFJUFNT    TFDUJPODSFBUF GPSVTFSUFBNT JUFNT\UFBN JUFN*UFN5FBN$FMMJO    JUFNSFVTBCMF*EFOUJpFS#$FMM    JUFNDPOpHVSF\DFMM @JO     DFMMTFUVQ XJUIUFBN     ^    JUFNTJ[F$(4J[F      ^   DBTFUFBNT      ^ ^ 4FDUJPOͱ*UFNͷؔ܎͕֊૚ߏ଄ʹͳ͍ͬͯͯ Ͳ͏͍͏σʔλߏ଄͔͕ಡΈղ͖΍͍͢