質問: C/C++からswiftを勉強しているのですが C/C++とはだいぶ違い困惑しています swiftのUI(NS)ViewControllerはCで言うところのmain関数みたいに プログラムを実行する自動で呼ばれるクラスなのでしょうか? Swiftのプログラムを見ているとViewController内に ボタンやラベル、それが押された時のイベントを記述しています ですが自分の感覚だとそれはクラスを記述しただけで 呼ばれないと思うんですが... ViewControllerはインスタンスとか用意しなくてもいいのでしょうか?
回答: 設定が必要な場合がありますが、 MasakiHoriさんがおっしゃる通り、Xcodeを使用し、Cocoa / CocoaTouchフレームを使っている以上、 自動で、実行されます。 私も詳しいことはわからないのですが、 おそらく、ユーザーが記述変更できる、最初に通るコードは、 AppDelegate.swiftかと思われます。 ここから、最初に表示すると設定されているUIViewControllerが呼ばれるのかと思います。 (内部的にはインスタンスを生成しているかと思います) ストーリーボードを使っていれば、自身でインスタンスの生成、実行をする必要はないのですが、 (ストーリーボードを通る際にインスタンスが生成されて実行されていると思われる) 使わない場合は、AppDelegate.swiftにて、自身でインスタンスの生成と実行をする必要があります。 Storyboard を使わずコードだけで画面を生成、遷移をしてみる また、UIViewControllerのライフサイクル(どのタイミングで、どのメソッドが実行されているか)は下記記事が参考になるでしょう。 【Swift】UIViewController ライフサイクル 簡易説明書 | ポケットリファレンス サンプル付き swiftは、C系の言語で言う、C#のように、どちらかというと人間語に近い言語のような気がします。 (メモリの解放など割と自動で行われる) コンピュータ語寄りの言語から入ると、少し違和感が強いかもしれませんね。