やはりお前らのiOSアプリ開発は間違っている

7d1521d950d9bc5697868830cb04ff2f?s=47 yimajo
August 20, 2016

 やはりお前らのiOSアプリ開発は間違っている

LT枠なので自分だけゆるい発表になりましたが、他の発表は良い物ばかりでした
https://iosdc.jp/2016/

7d1521d950d9bc5697868830cb04ff2f?s=128

yimajo

August 20, 2016
Tweet

Transcript

  1. ΍͸Γ͓લΒͷ J04ΞϓϦ։ൃ͸ؒҧ͍ͬͯΔ !ZJNBKP JPTED

  2. ࠓճ͸ ΈΜͳେ޷͖Ͱ͍ͭ࡞ͬͯ͠·͏ BaseViewControllerʹ͍ͭͯ ࿩Λ͠·͢

  3. ΦϨࢲ͸BaseViewController Λ ࡞Γͨ͘ͳ͍Αͬͯํ͸ ͦͷҙࢥද໌Λ͢Δͷʹ͸ ͜ͷ-5ʹ౤ථ͓ͯ͘͠ͱϕετ

  4. ࿩ͷલఏΛ֬ೝ͢ΔΑ

  5. J04ΞϓϦ։ൃ ͱ͍ͬͯ΋

  6. ࡞ͬͯऴΘΓ

  7. ʜͷ࿩ɺ Ͱ͸ͳ͍

  8. ࡞ͬͯϦϦʔεͯ͠ ෆ۩߹Λमਖ਼͠

  9. νʔϜͷϝϯόʔ͕ ૿͑ͨΓݮͬͨΓ

  10. ৽͍͠ػೳΛ௥Ճͨ͠ΓΛ ೔ʑ܁Γฦ͍ͯ͘͠࿩

  11. ͦ͏͍͏࣌ʹɺ

  12. BaseViewControllerΛ࡞Δͷ ͸ ؒҧ͍ͬͯΔ݅

  13. BaseViewController ͱ͸

  14. ֤ը໘༻ͷ 7JFX$POUSPMMFS͕ ܧঝͯ͠࢖͏ UIViewController BaseViewController ViewController ViewController

  15. • ϥΠϑαΠΫϧʹԠͯ͡ ΞφϦςΟΫεܥͷϝιο υΛݺͼग़ͨ͠Γ • Կ͔͠ΒͷϥΠϒϥϦͷ ݺͼग़͠ΛϝιουͰӅ ṭ͠Α͏ͱͨ͠Γ UIViewController BaseViewController

    ViewController ViewController
  16. Կ͕ؒҧ͍ͬͯΔ͔

  17. ࣭໰ͱճ౴ܗࣜͰ ߟ͍͑ͯ͘

  18. ʮ6*5BCMF7JFX$POUSPMMFSͱ 6*$PMMFDUJPO7JFX$POUSPMMFSΛ࢖͍͍ͨ ৔߹͸Ͳ͏΍ͬͯͦͷ #BTF7JFX$POUSPMMFS࢖͏ΜͰ͔͢ʁʯ ࣭໰

  19. ͦͷࡍɺΞϓϦಠࣗͷॲཧΛ࣮૷͢ΔͨΊʹ UIViewControllerΛܧঝͨ͠ BaseViewControllerΛͭ͘ΓͦΕΛ֤ը໘༻ ͷViewController͕ܧঝͯ͠࢖͏͜ͱ͕͋Δ UITableView Controller TVC BaseView Controller UIViewController

    UICollectionView Controller BaseTableView Controller BaseCollectionView Controller ͡Ό͋͜͏͠Α͏ TVC VC VC CVC CVC
  20. ʮͦΕͧΕڞ௨͢Δ࣮૷Λ Օॴʹίϐϖ͢ΔΘ͚ ͡Όͳ͍Ͱ͢ΑͶʁʯ ࣭໰

  21. ͦͷࡍɺΞϓϦಠࣗͷॲཧΛ࣮૷͢ΔͨΊʹ UIViewControllerΛܧঝͨ͠ BaseViewControllerΛͭ͘ΓͦΕΛ֤ը໘༻ ͷViewController͕ܧঝͯ͠࢖͏͜ͱ͕͋Δ ʰ6UJMJUZΛ࡞ͬͯͦ͜ʹ࣮૷͸͢ΔΑʂʱ UITableView Controller TVC UIViewController UICollectionView

    Controller TVC VC VC CVC CVC BaseView Controller BaseTableView Controller BaseCollectionView Controller Utility
  22. ʮ#BTF7JFX$POUSPMMFSΛ ܧঝͨ͘͠ͳ͍7JFX$POUSPMMFSͬ ͯग़͖ͯ·͢ΑͶʁʯ ࣭໰

  23. ͦͷࡍɺΞϓϦಠࣗͷॲཧΛ࣮૷͢ΔͨΊʹ UIViewControllerΛܧঝͨ͠ BaseViewControllerΛͭ͘ΓͦΕΛ֤ը໘༻ ͷViewController͕ܧঝͯ͠࢖͏͜ͱ͕͋Δ BaseView Controller BaseTableView Controller BaseCollectionView Controller

    ʰͦ͏ͳͬͨΒܧঝ͠ͳ͍ʱ UITableView Controller TVC UIViewController UICollectionView Controller TVC VC VC CVC CVC Utility ViewController ϥΠϒϥϦͷVC Կ͔͠Βͷ ϥΠϒϥϦ͕ఏڙ͢Δ
  24. ʮίʔυϨϏϡʔΛ͢Δࡍɺ ܧঝ͢΂͖7JFX$POUSPMMFSͱ ͦͷܧঝ͠ͳ͍7JFX$POUSPMMFSͷҧ͍͸ Ͳ͜ΛݟΕ͹൑ผͰ͖ΔΜͰ͔͢ʁʯ ࣭໰

  25. ʮ#BTF7JFX$POUSPMMFSͷ࣮૷ Λϝϯόʔશһ͕೺Ѳͯ͠ͳ͍ ͱා͘ͳ͍Ͱ͔͢ʁʯ ࣭໰

  26. ʮυΩϡϝϯτ͸ͳ͍Θ͚Ͱ͢Α Ͷʁʯ ࣭໰

  27. ʮͭ·Γʜɺ #BTF7JFX$POUSPMMFSͬͯͦΕ ΦϨΦϨϑϨʔϜϫʔΫͰ͢ΑͶʁʯ

  28. ʰ͓ɺ͓͏ʜʱ

  29. Ҏ্͕ ໝ૝ʹΑΔ࣭໰ͱճ౴ྫͰ͢

  30. #BTF7JFX$POUSPMMFS  ΦϨΦϨϑϨʔϜϫʔΫ

  31. ͳͥਓ͸J04Ͱ΋ ΦϨΦϨϑϨʔϜϫʔΫΛ ࡞Γ͕ͨΔ͔

  32. w ʮ͕͜͜͜͏ͳͬͯ͜͏ͳͬͯ͜͏ʜ͜ͷॲཧڞ ௨ԽͰ͖Δʂʯ w ʮܧঝͯ͠࢖͑ΔΑ͏ʹ͓͚ͯ͠͹ޙͰͳʹ͔ͷ ໾ʹཱͭʂʯ w ʮʢྗ͕ʜཉ͍͔͠ʣʯͱ͍͏੠͕ݾͷத͔Β ௌ͑͜Δʂ

  33. ͓ͦΒ͘ਓ͸෺ࣄΛ ͏·͘΍Ζ͏ͱ͍͏Ҿྗ ʹऒ͔ΕΔ

  34. ඞཁ͕ͳ͍͔΋͠Εͳ ͍ந৅ԽΛ͢Δ

  35. ΋͘͠͸ ܦݧ͔ΒϘτϜΞοϓͳઃܭΛߦͳ͍ɺ ͦΕΛࣗ෼ͷ޲্ͩͱצҧ͍͢Δ Μ͡Όͳ͍͔ͳ͋

  36. ͦ͏͍͏ͱ͖ʹ ࢥ͍ग़ͯ͠ཉ͍͠ :"(/*ݪଇ

  37. :"(/*ݪଇ w ޙͰ࢖͏ͩΖ͏ͱ͍͏༧ଌͰ࡞ͬͯ΋ߴ͍֬཰ Ͱ࢖ΘΕͳ͍ͷʹଞͷϝϯόʔ΋ཧղ͢Δඞཁ ͕ग़ͯ͘Δ͚ͲແବʹͳΔ w ༧ظ͠ͳ͍มߋʹରͯ͠͸ઃܭͷ୯७໋͕͞ ͡ΌΜ IUUQTKBXJLJQFEJBPSHXJLJ:"(/* ඞཁʹͳͬͨͱ͖ඞཁͳࣄΛ͢Ε͹͍͍Α

  38. ʒͷΤϞ͍࿩

  39. ࢲ͸ɺ͜͜ʹ͍Δօ͞Μͱಉ͡Ͱɺ ػೳ௥Ճ΍ෆ۩߹मਖ਼Λਝ଎ʹߦ͏ͨΊ ෳࡶͳΞϓϦέʔγϣϯ΋ ϝϯςφϒϧʹॻ͖͍ͨ ͱࢥ͍ͬͯ·͢ɻ

  40. ٳ೔ʹ͓ۚ෷ͬͯ࿅അ·Ͱ དྷΔͬͯ૬౰Ͱ͢ΑͶ

  41. ڪΒ͘օ͞Μ͸ ։ൃʹؔ͢Δ஌ݟΛಘΔ͜ͱͰ ΑΓྑ͘೔ʑͷ։ൃΛ͍͖͍ͯͨ͠ͱ ײ͔ͨ͡Βདྷͨ͸ͣͰ͢

  42. ྫ͑͹ ʮϢʔβͷͨΊʹػೳΛ͜͏ͯ͠ཉ͍͠ʯ ͬͯཔ·Εͨ࣌ʹ ʮԞਂ͘ͷઃܭ͕ೖΓ૊ΜͰͯແཧʜʯ ͬͯݴ͍ͨ͘ͳ͍͡Όͳ͍Ͱ͔͢

  43. BaseViewControllerͬͯඞਢ ͡Όͳ͍͠ޙ͔ΒࢀՃ͢Δϝϯόʔ ͔Βͨ͠ΒअຐʹͳΓͦ͏Ͱ͢

  44. ຊ౰͸ ։ൃʹؒҧ͍ͳΜͯ ͳ͍

  45. Ͱ΋ ೔ʑͷӡ༻Λߟ͑ΔͳΒ ΦϨΦϨϑϨʔϜϫʔΫΛ࢖Θͳ͍ ΋ͬͱྑ͍΍ΓํΛ ୳͠·͠ΐ͏Α

  46. ͡Ό͋ BaseViewController Λ࡞Βͳ͚Ε ͹ΦϨͨͪΌͲ͏͢Ε͹͍͍ΜͩΑʁ

  47. BaseViewController Λ࡞Βͣʹ ۩ମతʹͲ͏͢Μͷͬͯํ͸ ͦͷҙࢥද໌Λ͢Δͷʹ͸ ͜ͷ-5ʹ౤ථ͢Δͷ͕Ұ൪ྑ͍Ͱ͢ Ҏ্Ͱ͢ ͋Γ͕ͱ͏͍͟͝·ͨ͠

  48. w ΍͸Γ͓લΒͷJ04ରԠ͸ؒҧ͍ͬͯΔ w IUUQXXXTMJEFTIBSFOFU:PTIJOPSJ*NBKPJPT w ΍͸Γ͓લΒͷ$PSF%BUBͷ࢖͍ํ΋ؒҧ͍ͬͯΔ w IUUQXXXTMJEFTIBSFOFU:PTIJOPSJ*NBKPDPSFEBUB w J04ΞϓϦͷઃܭͰ#BTF7JFX$POUSPMMFSͷΑ͏ͳͷ͸࡞Γͨ͘ͳ͍

    w IUUQRJJUBDPNZJNBKPJUFNTFGFCECGE ࢀߟ
  49. ࣗݾ঺հ • ࠓ৓ ળۣ(@yimajo) • iOSΞϓϦ։ൃΛ࢓ࣄʹ͍ͯ͠·͢ • ΤϯδχΞͷΞ΢τϓοτϥϯΩϯ άαʔϏε https://stargzr.net

    Λ࡞ͬ ͨΓ΋͍ͯ͠·͢