Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

12 ࣗ෼͕ͭ·͍ͮͨͱ͜Ζ 2

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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 }() ~~~~~~~~~~~~~~~~~~লུ~~~~~~~~~~~~~~ } }

Slide 15

Slide 15 text

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); }

Slide 16

Slide 16 text

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ɾɾɾɾʁ

Slide 17

Slide 17 text

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͕ͭͳ͕Δͷʁ

Slide 18

Slide 18 text

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 ͜Εؔ਺͔ͳʁʁ

Slide 19

Slide 19 text

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ʹ୅ೖͯ͠ΔΒ͍͠ ͜Ε͸Θ͔Δ

Slide 20

Slide 20 text

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 ͜ͷ {}Ͱғ·ΕͯΔͷ͸ԿʁͳΜͰ{}ͰғΉͷʁ

Slide 21

Slide 21 text

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Λ୅ೖ͢ΔͬͯԿʁʁɹ͜ͷ఺(.)Կʁ

Slide 22

Slide 22 text

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͢Δͷ

Slide 23

Slide 23 text

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 ͜ͷ࠷ޙͷ()ԿʁʁͳΜͰඞཁͳͷʁ

Slide 24

Slide 24 text

24 ໰୊ͷ੾Γ෼͚͕Ͱ͖͍ͯͳ͍ Swiftͷจ๏ʁఆٛͷಡΈํʁUIKitͷ࢖͍ํʁ


Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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ΞϓϦ։ൃೖ໳ϊʔτΑΓൈਮ ΫϥεΛཧղ͔ͨͬͨ͠ͷͰ·ͣ͸ࣸܦΛͯ͠Έͨ

Slide 28

Slide 28 text

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ΞϓϦ։ൃೖ໳ϊʔτΑΓൈਮ ࣗ෼Ͱॻ͍ͨ͠
 ఆٛͷ࢓ํ͸Θ͔Δͧ ͳΜͱͳ͘ཧղͰ͖ͨؾʹͳΔ

Slide 29

Slide 29 text

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ΞϓϦ։ൃೖ໳ϊʔτΑΓൈਮ ͳΜͱͳ͘Θ͔ͬͨͧ ͳΜͱͳ͘ཧղͰ͖ͨؾʹͳΔ

Slide 30

Slide 30 text

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()ͬͯԿʁʁʁ

Slide 31

Slide 31 text

31 ॳ৺ऀ༻ͷຊͱ࣮ࡍʹ࢖͏Ϋϥεͷઆ໌ʹ͕ࠩ͋Δ

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

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) ͜ΕϓϩύςΟ໊ͩΑͶʁ ͜ΕͬͯΫϥε໊Ͱ͢ΑͶʁ ͜Ε͸਌Ϋϥε͔ͳʁ ͜Ε͸ϓϩτίϧ͔ͳʁ ͜Ε͸ܕͩΑͶʁ

Slide 34

Slide 34 text

34 ఆٛͷಡΈํΛॻ͍ͯ͋Δೖ໳ॻ͕ແͯ͘ࠔͬͨɾɾ ཉ͍͠৘ใ͸
 ͜͏ͨ͠ΒͰ͖Δ͡Όͳͯ͘
 Ͳ͏͍͏ߟ͑ํΛͯ͠ɺͦ͏͍͏ίʔυʹͳͬͨͷ͔ͳͷʹɾɾ

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

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 }

Slide 37

Slide 37 text

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 } ~~~~~~~ লུ ~~~~~~~~~ } ͳΜͰؔ਺ͷޙΖʹ{}͕͍ͭͯΔΜͩɾɾɾ
 (઀ඌΫϩʔδϟʔͬͯؾ͕͍͍ͭͯͳ͍)

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

41 dataTaskͷఆٛΛݟͯΈΔ open func dataTask(with request: URLRequest, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Swift.Void) -> URLSessionDataTask ໼ҹ͕͍ͬͺ͍ͰԿ͕ͳΜ͔ͩɾɾɾ
 Θ͔Βͳ͍ɾɾɾɾ
 ΋͏͍͍΍ɾɾɾఘΊ

Slide 42

Slide 42 text

42 ࠓͩͬͨΒͲ͏ݟ͑Δͷ͔

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

45 dataTaskͷఆٛΛݟͯΈΔ(ࠓͩͬͨΒ) open func dataTask(with request: URLRequest, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Swift.Void) -> URLSessionDataTask ͜ͷؔ਺ͷฦΓ஋ͷܕ͸URLSessionDataTaskͳͷ͔

Slide 46

Slide 46 text

46 Ͳ͏΍ͬͯղܾͨ͠ͷʁ

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

48 ·ͱΊ 3

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

50 ͜Μͳײ͡Ͱఆٛͷ෼ྨ(Ҿ਺໊ɺܕɺฦΓ஋ͷܕ)͔Β͸͡ΊͯΈΔ open func dataTask(with request: URLRequest, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Swift.Void) -> URLSessionDataTask ୈҰҾ਺ʹ໊̎ͭલ͕ೖͬͯΔ
 with͸ϥϕϧ໊Ͱɹrequest͕Ҿ਺໊ͩͶ ؔ਺ݺ͹ΕΔͱ͖ʹ࢖ΘΕΔͷ͸withͩͶ ୈҰҾ਺ͷܕ͸URLRequestܕͩ ୈҰҾ਺ ୈೋҾ਺ ୈҰҾ਺ͷܕ ୈೋҾ਺ͷܕ ฦΓ஋ͷܕ

Slide 51

Slide 51 text

51 ܦݧऀͷํ΁ ॳ৺ऀ͸໰୊Λ෼ׂ͢Δ͜ͱ͕೉͍͠Ͱ͢ɾɾɾ Swiftͷจ๏ͷ໰୊ʁ
 ఆٛͷಡΈํͷ໰୊ʁ UIKitͷ࢖͍ํʁ
 Xcodeͷ࢖͍ํʁ ໰୊ͷ෼ׂͷ࢓ํ ߟ͑ํΛڞ༗͢Δ Λҙࣝ͢Δ ↑ϝϯλʔͱνʔϜͷօ͞Μʹ ҭͯͯ΋ΒͬͯΑ͔ͬͨͳͱࢥ͍·ͨ͠

Slide 52

Slide 52 text

52 ͓͢͢Ίॻ੶ 4

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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


Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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