質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

625閲覧

Swift ViewControllerは自動で呼ばれるんですか?

退会済みユーザー

退会済みユーザー

総合スコア0

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2019/04/23 23:30

C/C++からswiftを勉強しているのですが
C/C++とはだいぶ違い困惑しています

swiftのUI(NS)ViewControllerはCで言うところのmain関数みたいに
プログラムを実行する自動で呼ばれるクラスなのでしょうか?

Swiftのプログラムを見ているとViewController内に
ボタンやラベル、それが押された時のイベントを記述しています
ですが自分の感覚だとそれはクラスを記述しただけで
呼ばれないと思うんですが...
ViewControllerはインスタンスとか用意しなくてもいいのでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2019/04/24 00:35

言語とOSの話がゴッチャになってます。
guest

回答2

0

ベストアンサー

設定が必要な場合がありますが、
MasakiHoriさんがおっしゃる通り、Xcodeを使用し、Cocoa / CocoaTouchフレームを使っている以上、
自動で、実行されます。
私も詳しいことはわからないのですが、
おそらく、ユーザーが記述変更できる、最初に通るコードは、
AppDelegate.swiftかと思われます。
ここから、最初に表示すると設定されているUIViewControllerが呼ばれるのかと思います。
(内部的にはインスタンスを生成しているかと思います)

ストーリーボードを使っていれば、自身でインスタンスの生成、実行をする必要はないのですが、
(ストーリーボードを通る際にインスタンスが生成されて実行されていると思われる)
使わない場合は、AppDelegate.swiftにて、自身でインスタンスの生成と実行をする必要があります。

Storyboard を使わずコードだけで画面を生成、遷移をしてみる

また、UIViewControllerのライフサイクル(どのタイミングで、どのメソッドが実行されているか)は下記記事が参考になるでしょう。

【Swift】UIViewController ライフサイクル 簡易説明書 | ポケットリファレンス サンプル付き

swiftは、C系の言語で言う、C#のように、どちらかというと人間語に近い言語のような気がします。
(メモリの解放など割と自動で行われる)
コンピュータ語寄りの言語から入ると、少し違和感が強いかもしれませんね。

投稿2019/04/24 01:41

miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/04/24 03:24

みなさんわかりやすくありがとうございました。 教えていただいたリンクやキーワードを元に調べてみます。
guest

0

Swiftという言語の機能ではなくCocoa / CocoaTouchというフレームワークがいろいろなことを裏で行っています。

投稿2019/04/24 00:12

MasakiHori

総合スコア3384

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/04/24 01:02

文章がわかりづらくてすみません 質問の意図は「なぜ自動で呼ばれる?」ではなく 「自動で呼ばれますか?」ということを言いたかったです 自動で呼ばれるとしたらどのタイミングで呼ばれるのでしょうか? インスタンスはいらないのでしょうか? またViewController内で記述した処理も自動で呼ばれるのでしょうか? よろしくお願いします。
MasakiHori

2019/04/24 01:41

Cocoa (macOSアプリケーション) / CocoaTouch (iOSアプリ)をお調べください。 すべてを網羅するには本が数冊~十数冊書ける内容です。 「Action - Target」「Xib / Nib 」なども有用なキーワードです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問