質問: XcodeのNavigator area で右クリックしNewFileを選択すると、 ![イメージ説明](https://teratail.storage.googleapis.com/uploads/contributed_images/7876ecd7187a32813db813f4053c3216.png) この画面が表示されると思います。 プログラムの勉強をサイトで行っている時、「Cocoa Touch Class を選択してくだい」という指示をよく見るのですが、なぜ、ViewController.swiftがあるのに、わざわざ、新しいファイルを追加させる必要があるのですか? また、それぞれのファイルの使い方が載っているサイトがありましたら教えてください!
回答: 「ViewController.swiftがあるのに」なぜ「Cocoa Touch Class」を追加するかですが、それはつまりなぜプログラムを作る時に別ファイルに分けるか、という疑問だと思います。 その疑問に対する答えとして一番大きな割合を占めるものは「プログラムが大きくなりすぎて訳が分からなくなるから」じゃないでしょうか。 例えば100行くらいコードが書いてあるファイルがあったとしてそれは覚えていられると思います。 200行くらいでもまぁなんとか。 でもこれが10000行だとか20000行だとかいくとどうでしょう。 とてもじゃないですが覚えてられないとは思いませんか。 →なので小さく分割して覚えやすく・見通しをよくしましょう、ということです。 追記: 全てのテンプレートの説明があるサイトは見当たらなかったので簡素ですがまとめてみました。 Cocoa Touch Class CocoaTouchフレームワーク。UIはこちらから。 UI Test Case Class UITestを行うときに使う。 Unit Test Case Class UnitTestを行うときに使う。 Playground UIやコードを実装してちょっと試したい時なんかに。 Swift File 空のSwiftファイル。Modelを書いたりするときはこっち。 Objective-C File 言わずと知れたObjectiveCを書くためのファイル。 Header File Bridging Headerをしたり。 C File C言語を使う時。 C++ File C++を使う時。 Metal File https://app.famitsu.com/20140810_406013/ グラフィックスや並列演算なんかに。 Storyboard Storyboardを作成。ViewController単位で操作。とりあえずはこっち。 View xibを作成。View単位で操作。再利用したいViewがあればこちらから。 Empty 空のxibファイル。 Launch Screen 起動時に出てくるスプラッシュ画面を作成。