Help us understand the problem. What is going on with this article?

TOEIC285学生のためのSwift Lv2

More than 1 year has passed since last update.

この記事は、TOEIC285学生のためのSwift Lv1 の続きです。
注意:自身の勉強のためにまとめた記事です。間違いがある可能性があるので目安程度にご覧ください。間違えがあればご指摘いただければ幸いです。

分からない部分を徹底的に無くす

おはようございます、こんにちは、こんばんは、今回は前回の記事の続きとなります。

ViewController.swift
// ←この行はコメントだということを表している
//  ViewController.swift ←Swiftのファイル名が自動挿入されている
//  tesutodayo ←プロジェクト名が自動挿入されている
//
//  Created by このしゅうかつせいれべる1 on 2019/02/20. ←製作者と制作日が自動挿入されている
//  Copyright © 2019 このしゅうかつせいれべる1. All rights reserved. ←著作権表記
//

import UIKit ←iOSのUIキットを読み込んでいる

前回は上記の内容を学習しました....覚えてない?人間は忘れることが出来る生き物だから仕方ない
むしろ忘れたと誇っても良い、そんなときは前回の記事をもう一度見直せばいいだけの話。
覚えてる人、覚えなおした人はbreak(次へ)、それ以外の人はcontinue(前に戻る)で。

ViewController.swift
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }


}

本日学習するプログラムは上記の通り、英語だらけでなるほど、全然分からない。
いや、上記が分からない人向けにこの記事を書いてあるのだから、上記が分からない人こそ
この記事を読んでいただく価値があるというもの。(読むか読まないかは貴方の判断ですが)

さて、まずは

class ViewController: UIViewController {

しらすすヴぃえこんてぃろれえあ....うい...じゃなくてユーアイヴぃぇこんてぃろれえあ....
違う違う。クラス、ビューコントローラー:ユーアイビューコントローラーと読みます。
class クラスの名前:親クラスの名前
大体の人がひっかかるのでここは慎重にやっていきましょう。

クラスとはなんぞや。

いろいろな例えはありますが、ひとまずDVDやブルーレイディスクみたいなものだと思ってください。

class ViewController: UIViewController {
class コピーデータオリジナルデータ{

UIViewControllerというオリジナルがあって、それをコピーしてViewControllerというものを作ると考えてください。
正確にはコピーではなく継承と言います。
大本の骨組みであるオリジナルを継承という引き継ぎを行い、コピーデータで細かい部分を操作する感じですね。

UIViewControllerは、前回の記事で学んだUIKitというコンポーネントに含まれており、
UIKitをインポートしているのでそこから拾ってきます。

例えるなら、ノノタミナというアニメ制作会社が、エンジニア戦争というアニメを作っているとして
ノノタミナ が UIKit
エンジニア戦争 が UIViewController
それをコピーしたDVDが、ViewControllerということになります。
当然、ノノタミナ社はいくつかアニメを作っているので UIKitの中には UIViewController以外も存在します。

まあ、そんなわけでコピーデータであるViewControllerは、UIViewControllerを引き継いでいます。

class ViewController: UIViewController {

そして大事なのが最後についてある { このカッコ
これは、class ViewControllerがここから始まるということを表しています。
始まるということはいつかは終わりを迎えるということ。
終わりの { を探してみましょう。

ViewController.swift
class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }


}

二つありますね。対になるカッコはこうなります。
class.png
このカッコの始まりからカッコの終わりまでがその要素の適用範囲となります。
class ViewControllerの中に、override func viewDidLoad()super.viewDidLoad()が入っている状態になっています。
おヴぇりいでふんくヴぃえでぃどろあど、すぺあヴぃえぅでぃろあど....
オーバーライド、ファンク(ション)ビューディドゥロード、スーパービューディドゥロード...

オーバーライドとはなんぞや。

override func viewDidLoad() {

オーバーライドとは、コピーしたUIViewControllerに対してデータを上書きできます。
上記画像の黄色のエリアに登場人物の名前を書き替えるプログラムを組み込めば
アニメ「エンジニア戦争」の主人公の名前を「すいふくといく」から「すいふとあつし」に出来ます。
オーバーライドとは、オリジナルからコピーしたプログラムに何らかの上書きを加えると思ってください。

スーパーとはなんぞや。

super.viewDidLoad()

まず、ここで記述するスーパーはリンゴとか刺身とか売ってるスーパーではない。
スーパーとは、オリジナルデータを呼び出すもので、
viewDidLoadというのはViewControllerが初めて表示されたときのみ呼び出すというものです。
アプリを起動したときに1回だけ読み込まれるものになります。
これに対して、何回も読み込みを行いたいときは

super.viewWillAppear()

を使うと良いです。

で、結局このプログラムは何をしてるの?

//
//  ViewController.swift
//  tesutodayo
//
//  Created by このしゅうかつせいれべる1 on 2019/02/20.
//  Copyright © 2019 このしゅうかつせいれべる1. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }


}

アプリを起動して最初に読み込む画面を表示するプログラムです。

ARやGPSを用いたアプリ開発ができるように精進していきたいと思います。
ここまでお読みいただきありがとうございました。

KonoLv1
iOSを用いたARやGPSアプリ開発を独学趣味で行っております。2020年春よりエンジニア職として東京勤務予定です。いろんな言語、いろんな環境にどんどん挑戦していきたいと思います。
http://konolv1.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした