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

「開発初心者は何がわからないのか」 わからないを言語化するヒント

Dcebc7211303cb2ad89d7b011af920a1?s=47 Marina Nakagawa
September 20, 2018
600

「開発初心者は何がわからないのか」 わからないを言語化するヒント

Dcebc7211303cb2ad89d7b011af920a1?s=128

Marina Nakagawa

September 20, 2018
Tweet

Transcript

  1. 1 ʮ։ൃॳ৺ऀ͸Կ͕Θ͔Βͳ͍ͷ͔ʯ Θ͔Βͳ͍ΛݴޠԽ͢Δώϯτ ೔ຊܦࡁ৽ฉࣾɹத઒ ສᣦಸ iOSDC2018 reject con

  2. 2 Marina Nakagawa @marina10172013(·Γʔͳ) ೔ຊܦࡁ৽ฉࣾͷiOSΤϯδχΞ ిࢠ൛ΞϓϦɼࢴ໘ϏϡʔΞʔΞϓϦͷ։ൃ Adobe੡඼޷͖Ͱ͢

  3. 3 ຊ೔࿩͢͜ͱ ࢲͷ͜Ε·Ͱͷঢ়گ ࣗ෼͕ͭ·͍ͮͨͱ͜Ζ 1 2 ·ͱΊ 3 ͓͢͢Ίॻ੶ͱࢿྉ 4

  4. 4 ࢲͷ͜Ε·Ͱͷঢ়گ 1

  5. 5 େֶ࣌୅ ৘ใͱσβΠϯΛֶͿֶՊ !Processing΍openFrameworksͰͪΐͬ͜ͱϓϩάϥϛϯά
 !ArduinoͰిࢠ޻࡞ Ϋϥε(तۀͰͪΐͬͱ΍ͬͨؾ͕͢Δɾɾ)
 gitʁͳʹͦΕʁ

  6. 6 ࣾձਓ(৽ଔ) ͱʹ͔͘Θ͔Βͳ͍

  7. 7 ྫจ ࣍ͷόʔδϣϯͷϒϥϯν͸2.5.0͚ͩͲɺઌʹ!!ϒϥϯνʹ৽ػೳ ΛೖΕͯΔ͔ΒϑΣονͯ͠ɺͦͷϒϥϯν͔Β੾ͬͯͶ
 ऴΘͬͨΒ!!ϒϥϯνʹϚʔδ͓͍ͯͯ͠Ͷ

  8. 8 ྫจ ࣍ͷόʔδϣϯͷϒϥϯν͸2.5.0͚ͩͲɺઌʹ!!ϒϥϯνʹ৽ػೳ ΛೖΕͯΔ͔ΒϑΣονͯ͠ɺͦͷϒϥϯν͔Β੾ͬͯͶ
 ऴΘͬͨΒ!!ϒϥϯνʹϚʔδ͓͍ͯͯ͠Ͷ

  9. 9 ྫจ ࣍ͷόʔδϣϯͷϒϥϯν͸2.5.0͚ͩͲɺઌʹ!!ϒϥϯνʹ৽ػೳ ΛೖΕͯΔ͔ΒϑΣονͯ͠ɺͦͷϒϥϯν͔Β੾ͬͯͶ
 ऴΘͬͨΒ!!ϒϥϯνʹϚʔδ͓͍ͯͯ͠Ͷ ओޠ΋ಈࢺ΋ड़ޠ΋Θ͔Βͳ͍

  10. 10 ྫจ ࣍ͷόʔδϣϯͷϒϥϯν͸2.5.0͚ͩͲɺઌʹ!!ϒϥϯνʹ৽ػೳ ΛೖΕͯΔ͔ΒϑΣονͯ͠ɺͦͷϒϥϯν͔Β੾ͬͯͶ
 ऴΘͬͨΒ!!ϒϥϯνʹϚʔδ͓͍ͯͯ͠Ͷ ΋ͪΖΜiOS΋Θ͔ΔΘ͚ͳ͍

  11. 11 Vim?Git?ViewController?push?AWS? Server?merge?breakpoint?Accessibility Carthage?CocoaPods?pull Request?Vie object-orientation?pull?fetch?Asynchro processing?Vim?Git?ViewController?pu AWS?Server?merge?breakpoint Vim Accessibility?Carthage?rbenv?CocoaPo

    pull Request?View?object-orientation?p
  12. 12 ࣗ෼͕ͭ·͍ͮͨͱ͜Ζ 2

  13. 13 ೖࣾ࣌ͷ໨ઢͰίʔυΛݟͯΈΔ

  14. 14 class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor =

    UIColor.white let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() ~~~~~~~~~~~~~~~~~~লུ~~~~~~~~~~~~~~ } }
  15. class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white

    let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() ~~~~~~~~~~~~~~~~~~লུ~~~~~~~~~~~~~~ } } 15 ͑ͬɹViewControllerͬͯͳʹʁ ϧʔϓͲ͜ʁʁʁ ProcessingͩͬͨΒdraw()ؔ਺Έ͍ͨͳ΍ͭͲ͜΍ɾɾɾ
 ྫ ↓͜Μͳ΍ͭ void setup() { size(250, 250); frameRate(20); } void draw() { background(0); ellipse(width/2, height/2, mouseX, mouseY); }
  16. class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white

    let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() ~~~~~~~~~~~~~~~~~~লུ~~~~~~~~~~~~~~ } } 16 overrideɾɾɾɾʁ
  17. class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white

    let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() ~~~~~~~~~~~~~~~~~~লུ~~~~~~~~~~~~~~ } } 17 ͜ͷselfͬͯԿʁ
 Ͳ͏ͯ࣍͠ʹ.view͕ͭͳ͕Δͷʁ
  18. class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white

    let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() ~~~~~~~~~~~~~~~~~~লུ~~~~~~~~~~~~~~ } } 18 ͜Εؔ਺͔ͳʁʁ
  19. class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white

    let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() ~~~~~~~~~~~~~~~~~~লུ~~~~~~~~~~~~~~ } } 19 labelͷtextʹ୅ೖͯ͠ΔΒ͍͠ ͜Ε͸Θ͔Δ
  20. class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white

    let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() ~~~~~~~~~~~~~~~~~~লུ~~~~~~~~~~~~~~ } } 20 ͜ͷ {}Ͱғ·ΕͯΔͷ͸ԿʁͳΜͰ{}ͰғΉͷʁ
  21. class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white

    let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() ~~~~~~~~~~~~~~~~~~লུ~~~~~~~~~~~~~~ } } 21 .verticalΛ୅ೖ͢ΔͬͯԿʁʁɹ͜ͷ఺(.)Կʁ
  22. class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white

    let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() ~~~~~~~~~~~~~~~~~~লུ~~~~~~~~~~~~~~ } } 22 ͳΜͰಥવreturn͢Δͷ
  23. class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white

    let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() ~~~~~~~~~~~~~~~~~~লུ~~~~~~~~~~~~~~ } } 23 ͜ͷ࠷ޙͷ()ԿʁʁͳΜͰඞཁͳͷʁ
  24. 24 ໰୊ͷ੾Γ෼͚͕Ͱ͖͍ͯͳ͍ Swiftͷจ๏ʁఆٛͷಡΈํʁUIKitͷ࢖͍ํʁ


  25. 25 ͜Ε·Ͱࣗ෼͕ಛʹͭ·͍͍ͣͯͨ
 ϙΠϯτΛ঺հ͠·͢

  26. 26 ಛʹͭ·͍ͮͨϙΠϯτ Swiftͷจ๏(Ϋϩʔδϟʔ) Ϋϥεͷ֓೦ɺΦϒδΣΫτࢦ޲ 1 2

  27. 27 import UIKit class MyClass { var msg = "ϋϩʔ"

    func hello(){ print(msg) } } class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let myObj = MyClass() myObj.hello() myObj.msg = "͸͍" myObj.hello() ~~~~~লུ~~~~~ } class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() } } ৄࡉ!Swift3iPhoneΞϓϦ։ൃೖ໳ϊʔτΑΓൈਮ ΫϥεΛཧղ͔ͨͬͨ͠ͷͰ·ͣ͸ࣸܦΛͯ͠Έͨ
  28. 28 import UIKit class MyClass { var msg = "ϋϩʔ"

    func hello(){ print(msg) } } class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let myObj = MyClass() myObj.hello() myObj.msg = "͸͍" myObj.hello() ~~~~~লུ~~~~~ } class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() } } ৄࡉ!Swift3iPhoneΞϓϦ։ൃೖ໳ϊʔτΑΓൈਮ ࣗ෼Ͱॻ͍ͨ͠
 ఆٛͷ࢓ํ͸Θ͔Δͧ ͳΜͱͳ͘ཧղͰ͖ͨؾʹͳΔ
  29. 29 import UIKit class MyClass { var msg = "ϋϩʔ"

    func hello(){ print(msg) } } class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let myObj = MyClass() myObj.hello() myObj.msg = "͸͍" myObj.hello() ~~~~~লུ~~~~~ } class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue let myStackView: MyStackView = { let myStackView = MyStackView() myStackView.axis = .vertical myStackView.translatesAutoresizingMaskIntoConstraints = false myStackView.title = "ͯ͢ͱͯ͢ͱ" return myStackView }() } } ৄࡉ!Swift3iPhoneΞϓϦ։ൃೖ໳ϊʔτΑΓൈਮ ͳΜͱͳ͘Θ͔ͬͨͧ ͳΜͱͳ͘ཧղͰ͖ͨؾʹͳΔ
  30. 30 import UIKit class MyClass { var msg = "ϋϩʔ"

    func hello(){ print(msg) } } class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() let myObj = MyClass() myObj.hello() myObj.msg = "͸͍" myObj.hello() ~~~~~লུ~~~~~ } class ViewController: UIViewController{ override func viewDidLoad() { self.view.backgroundColor = UIColor.white let label = UILabel() label.text = "aaaa" label.textColor = UIColor.blue ৄࡉ!Swift3iPhoneΞϓϦ։ൃೖ໳ϊʔτΑΓൈਮ ࣮ࡍͷΞϓϦ։ൃͰԠ༻͕͖͔ͳ͍ ͑ͬ͜ͷtextͲ͔͜Β͖ͨʁ ࣗ෼Ͱॻ͍ͯͳ͍Α ͑ͬࠓ·ͰMyClassͬͯॻ͍ͯͨͷʹ
 UILabel()ͬͯԿʁʁʁ
  31. 31 ॳ৺ऀ༻ͷຊͱ࣮ࡍʹ࢖͏Ϋϥεͷઆ໌ʹ͕ࠩ͋Δ

  32. 32 Ͳ͏΍ͬͯղܾͨ͠ͷʁ

  33. 33 ࢲͷ৔߹ɹ ϝϯλʔʹࣗ෼ͷߟ͑ΛݴͬͯؒҧͬͯͨΒࢦఠͯ͠΋Βͬͨ @available(iOS 2.0, *) open class UILabel :

    UIView, NSCoding, UIContentSizeCategoryAdjusting { open var text: String? // default is nil open var font: UIFont! // default is nil (system font 17 plain) ͜ΕϓϩύςΟ໊ͩΑͶʁ ͜ΕͬͯΫϥε໊Ͱ͢ΑͶʁ ͜Ε͸਌Ϋϥε͔ͳʁ ͜Ε͸ϓϩτίϧ͔ͳʁ ͜Ε͸ܕͩΑͶʁ
  34. 34 ఆٛͷಡΈํΛॻ͍ͯ͋Δೖ໳ॻ͕ແͯ͘ࠔͬͨɾɾ ཉ͍͠৘ใ͸
 ͜͏ͨ͠ΒͰ͖Δ͡Όͳͯ͘
 Ͳ͏͍͏ߟ͑ํΛͯ͠ɺͦ͏͍͏ίʔυʹͳͬͨͷ͔ͳͷʹɾɾ

  35. 35 ಛʹͭ·͍ͮͨϙΠϯτ Swiftͷจ๏(Ϋϩʔδϟʔ) Ϋϥεͷ֓೦ɺΦϒδΣΫτࢦ޲ 1 2

  36. 36 ಛʹ઀ඌΫϩʔδϟʔɹলུ͕೉͍͠ //Ҿ਺͕ΫϩʔδϟʔͰҰ͔ͭ͠ͳ͍৔߹ͷྫ let array = [1,2,3,4,5] let newArray =

    array.map({ $0 * 2 }) //↑[2, 4, 6, 8, 10]ʹͳΔ //ޙஔه๏Ͱॻ͘ͱ let newArray = array.map(){ $0 * 2 } //↓΋ͬͱলུ͢Δͱ()Λলུͯ͠΋͍͍ //ʢωοτͰௐ΂ͯ΋ԼهͷΑ͏ͳྫͰॻ͔Ε͍ͯͯলུ͞ΕͯΔͷʹؾ͕͔ͭͳ͍ʣ let newArray = array.map{ $0 * 2 }
  37. 37 ࣮ࡍʹͲ͏͍͏ͱ͜ΖͰ٧·Δͷ͔(ϦΫΤετΛૹΔྫ) var request = URLRequest(url: url) request.httpMethod = "GET"

    let task = URLSession.shared.dataTask(with: request){ (data, response, error) in guard let data = data else { return } ~~~~~~~ লུ ~~~~~~~~~ } ͳΜͰؔ਺ͷޙΖʹ{}͕͍ͭͯΔΜͩɾɾɾ
 (઀ඌΫϩʔδϟʔͬͯؾ͕͍͍ͭͯͳ͍)
  38. 38 ࣮ࡍʹͲ͏͍͏ͱ͜ΖͰ٧·Δͷ͔(ϦΫΤετΛૹΔྫ) var request = URLRequest(url: url) request.httpMethod = "GET"

    let task = URLSession.shared.dataTask(with: request){ (data, response, error) in guard let data = data else { return } ~~~~~~~ লུ ~~~~~~~~~ } ͜ͷ data , response, errorͬͯͲ͏ͯ͠
 w w w w w w w w w w w w w w w w w w w w w w w w w ͜Μͳ໊લΛ͚ͭͨͷʁ
 w w w w w w w w w w Ͳ͜ΛΈͯͦ͏ॻ͚ΔͬͯΘ͔ͬͨͷʁ w w w w w w w w w w w w w w w w w
  39. 39 dataTaskͷఆٛΛݟͯΈΔ(ॳ৺ऀࢹ఺) open func dataTask(with request: URLRequest, completionHandler: @escaping (Data?,

    URLResponse?, Error?) -> Swift.Void) -> URLSessionDataTask
  40. 40 dataTaskͷఆٛΛݟͯΈΔ(ॳ৺ऀࢹ఺) ͋ΕʁҾ਺͕̏ͭʁʁʁʁʁ
 (ϥϕϧͰ͋Δ͜ͱʹؾ͕͍͍ͭͯͳ͍)
 ͜ͷwithͱྡͷrequestԿ͕͕ͪ͏Μͩʁʁ ΋͏μϝͩΘ͔Βͳ͍ɾɾɾ open func dataTask(with request:

    URLRequest, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Swift.Void) -> URLSessionDataTask
  41. 41 dataTaskͷఆٛΛݟͯΈΔ open func dataTask(with request: URLRequest, completionHandler: @escaping (Data?,

    URLResponse?, Error?) -> Swift.Void) -> URLSessionDataTask ໼ҹ͕͍ͬͺ͍ͰԿ͕ͳΜ͔ͩɾɾɾ
 Θ͔Βͳ͍ɾɾɾɾ
 ΋͏͍͍΍ɾɾɾఘΊ
  42. 42 ࠓͩͬͨΒͲ͏ݟ͑Δͷ͔

  43. 43 dataTaskͷఆٛΛݟͯΈΔ(ࠓͩͬͨΒ) open func dataTask(with request: URLRequest, completionHandler: @escaping (Data?,

    URLResponse?, Error?) -> Swift.Void) -> URLSessionDataTask ·ͣ͸ୈҰҾ਺ with͸ϥϕϧ໊ͩͳ
 request͸Ҿ਺໊
 ͜͜ʹೖΔҾ਺ͷܕ͸URLRequestͩͳ
  44. 44 dataTaskͷఆٛΛݟͯΈΔ(ࠓͩͬͨΒ) open func dataTask(with request: URLRequest, completionHandler: @escaping (Data?,

    URLResponse?, Error?) -> Swift.Void) -> URLSessionDataTask ୈೋҾ਺ͷҾ਺໊͸CompletionHandlerͩͳ
 ೖΔܕ͸ɾɾɾ͋ͬɹ͍ͭ͜Ϋϩʔδϟʔͩ
 ͲΜͳΫϩʔδϟʔ͔ͱ͍͏ͱ(Data?ܕ, URLResponse?ܕ, Error?ܕ)ͷҾ਺ͰฦΓ஋͕Swift.VoidܕͳΜͩͶ @escaping͕͍͍ͭͯΔͱ͍͏͜ͱ͸ڧࢀর͔ඇಉظͰ࣮ߦ͞ΕΔͷ͔ͳʁ
 Ϋϩʔδϟʔͱ͍͏͜ͱ͸઀ඌΫϩʔδϟʔͰୈೋҾ਺ʹೖΕͣʹޙΖʹ͚ͬͭͯ͘΋OKͩΑͶ
  45. 45 dataTaskͷఆٛΛݟͯΈΔ(ࠓͩͬͨΒ) open func dataTask(with request: URLRequest, completionHandler: @escaping (Data?,

    URLResponse?, Error?) -> Swift.Void) -> URLSessionDataTask ͜ͷؔ਺ͷฦΓ஋ͷܕ͸URLSessionDataTaskͳͷ͔
  46. 46 Ͳ͏΍ͬͯղܾͨ͠ͷʁ

  47. 47 ؔ਺ͷޙΖͷ{}͕Θ͔Βͳ͍ͷʹ ໊લ͕Θ͔Βͳͯ͘άάΕͳ͍ɾɾɾɾɾɾ ผͷௐ΂෺Λͯͨ͠Βɺ ͨ·ͨ·઀ඌΫϩʔδϟʔͷઆ໌ʹग़ձͬͨ

  48. 48 ·ͱΊ 3

  49. 49 ॳ৺ऀͷํ΁ Θ͔Βͳͯ͘΋खΛಈ͔͕͢େࣄ͔΋ ΍͍ͬͯ͘͏ͪʹҙ֎ͱΈ͖͑ͯͨ ॳ৺ऀຊ਺࡭ࣸܦ →ͳΕ͖ͯͨΒࣸܦͨ͠ίʔυͷதͰCommandʴΫϦοΫͰఆٛΛݟͯΈΔ →ఆٛΛղऍͯ͠ΈΔ →ܦݧऀʹ߹ͬͯΔ͔ฉ͍ͯΈΔ

  50. 50 ͜Μͳײ͡Ͱఆٛͷ෼ྨ(Ҿ਺໊ɺܕɺฦΓ஋ͷܕ)͔Β͸͡ΊͯΈΔ open func dataTask(with request: URLRequest, completionHandler: @escaping (Data?,

    URLResponse?, Error?) -> Swift.Void) -> URLSessionDataTask ୈҰҾ਺ʹ໊̎ͭલ͕ೖͬͯΔ
 with͸ϥϕϧ໊Ͱɹrequest͕Ҿ਺໊ͩͶ ؔ਺ݺ͹ΕΔͱ͖ʹ࢖ΘΕΔͷ͸withͩͶ ୈҰҾ਺ͷܕ͸URLRequestܕͩ ୈҰҾ਺ ୈೋҾ਺ ୈҰҾ਺ͷܕ ୈೋҾ਺ͷܕ ฦΓ஋ͷܕ
  51. 51 ܦݧऀͷํ΁ ॳ৺ऀ͸໰୊Λ෼ׂ͢Δ͜ͱ͕೉͍͠Ͱ͢ɾɾɾ Swiftͷจ๏ͷ໰୊ʁ
 ఆٛͷಡΈํͷ໰୊ʁ UIKitͷ࢖͍ํʁ
 Xcodeͷ࢖͍ํʁ ໰୊ͷ෼ׂͷ࢓ํ ߟ͑ํΛڞ༗͢Δ Λҙࣝ͢Δ

    ↑ϝϯλʔͱνʔϜͷօ͞Μʹ ҭͯͯ΋ΒͬͯΑ͔ͬͨͳͱࢥ͍·ͨ͠
  52. 52 ͓͢͢Ίॻ੶ 4

  53. 53 ͜Ε͔Βͭ͘ΔiPhoneΞϓϦ։ൃೖ໳ ͱΓ͋͑ͣΞϓϦΛ࡞Δ͜ͱ͸Ͱ͖Δ͚Ͳ ࣗ෼ͰԠ༻ɾൃలͤ͞Δʹ͸ݫ͔ͬͨ͠ ΄Μͱʹ͔̌ΒͩͬͨΒɺָ͘͠Ͱ͖Δͱࢥ͏
 https://www.sbcr.jp/products/4797387148.html

  54. 54 https://developer.apple.com/library/archive/referencelibrary/GettingStarted/DevelopiOSAppsSwift/#//apple_ref/doc/uid/TP40015214-CH2-SW1 Start Developing iOS Apps (Swift) AppleެࣜνϡʔτϦΞϧ
 جຊతͳTableViewͷ࢖͍ํɺϖʔδભҠɺςετͷ΍Γํ·Ͱղઆ͞Ε͍ͯΔ


  55. 55 Start Developing iOS Apps (Swift)ͷ೔ຊޠ༁͕ίʔε಺༰
 ӳޠ͕ݫ͍͠ਓ͸ͪ͜Β͕͓͢͢Ί
 N༧උߍiPhoneίʔε https://www.nnn.ed.nico/

  56. 56 iOSΞϓϦ։ൃɹσβΠϯύλʔϯೖ໳ ਖ਼௚Ұ೥લʹग़ձ͍͔ͨͬͨຊ ೖ໳ॻΛ਺࡭औΓ૊Μͩ͋ͱʹಡΉͱ ͜Ε͕஌Γ͔ͨͬͨΜͩʹग़ձ͑ͨຊ
 !ϓϩτίϧࢦ޲ !ίʔυͰϨΠΞ΢τΛ૊Ή
 !ϚϧνεϨου !WebAPIͷୟ͖ํ(Postman) !σβΠϯύʔλϯ

    https://nextpublishing.jp/book/9798.html
  57. 57 ೔ຊܦࡁ৽ฉࣾओ࠵ େखொSwiftษڧձ΍ͬͯ·͢ ࣍ճ͸10݄16೔ʢՐʣେखொ೔ܦϏϧ಺Ͱ։࠵ʂ

  58. 58 ͋Γ͕ͱ͏͍͟͝·ͨ͠