用語や概念の理解の際に役立てばと思います。
###オブジェクト志向
オブジェクト間の相互作用でシステムの機能を考える方法を指す。
###静的型付き言語
コンパイル時など実行前の段階で、変数や定数の型の情報を決定するプログラミング言語のことを指す。静的型付き言語では誤った型の値の代入などがコンパイルエラーとして検出されるため、プログラムの誤りに起因する実行時エラーの一部を未然に防げる。
###標準ライブラリ
言語仕様の一部となるライブラリ。プログラムを書く上で基本となる機能を提供するライブラリを指す。数値や文字列などの基本的なデータ型や配列や辞書などのデータ構造を表す型などがあげられる。標準ライブラリに含まれているものは常に利用可能であり、インポートなどの手続きは不要である。
###コアライブラリ
非同期処理や通信、ファイル操作といった、標準ライブラリと比べてより高いレベルの機能を提供するライブラリ。コアライブラリとしては、主に以下に示す3つのライブラリが提供されている。Swiftには、モジュールというプログラムのパッケージ化の仕組みがあり、コアライブラリはモジュールとしてインポートすることによって利用可能となる。
●Foundation
多くのアプリケーションに必要となる機能を提供するライブラリ。
●libdispatch
マルチコアハードウェア上の並列処理を抽象化するライブラリ。
●XCTest
ユニットテストのためのライブラリ。
###スコープ
変数、定数、関数、型の名前の有効範囲を表すもの。局所的に定義されるローカルスコープとプログラム全体から参照できるグローバルスコープに大別される。
###関数
入力として引数、出力として戻り値を持つ、名前を持ったひとまとまりの処理のこと。
###クロージャ
スコープ内の変数や定数を保持した(再利用可能な)ひとまとまりの処理のこと。クロージャを利用すると、処理を変数や定数に代入したり、関数に渡したりすることができる。
###モジュール
複数のソースコードを含む配布可能なプログラムの単位を指す。
###フレームワーク
モジュールやリソースやコード署名といったプログラムを配布して再利用するために必要なものを、1つのパッケージとしてまとめたもの。
###アプリケーション
モジュールやリソースを含む実行可能なパッケージ。
###非同期処理
実行中に別の処理を止めない処理のことを非同期処理という。非同期処理では、複数の処理を並列化することで効率の良いプログラムを実現できるため、アプリケーションの応答性を高める上で欠かせない手法。一方で、適切に実装しなければ、保守性が低いコードになりやすく、また、バグの温床となりがちなので、注意が必要である。Swiftでは、スレッド(CPU利用の仮想的な実行の単位)を利用して非同期処理を実現する。
###エラー処理の使い分け
参照URL
https://qiita.com/koishi/items/67cf4d0f51c4d79f1d22
###Optional型
エラーの詳細情報が不要で、結果の成否のみによってエラーを扱える場合。
###Result型
非同期処理の場合に用いる。型引数Errorと同じ型のエラーしか扱えない。使うメリットは、処理の結果が成功か失敗かのいずれかに絞られること。
###do-catch文
同期処理の場合に用いる。do節内にエラーが発生する可能性のある処理を記述し、エラーが発生すると、catch節にプログラムの制御が移り、catch節内でエラーの詳細を受け取り、エラーの詳細に応じて処理を切り替えることができる。Errorプロトコルに準拠した型であればどのような型も扱うことができる。
throw文を用いると、エラーを発生させることができる。Errorプロトコルに準拠した値を使って「throw エラー値」のように書く。
Tryキーワードを用いると、エラーを発生させる可能性のある処理を実行することができる。
使うメリットは、上記と同様に、処理の結果が成功か失敗かのいずれかに絞られること。
###fatalError(_:)関数
エラー発生時にプログラムの実行を終了したい場合。
###アサーション
デバッグ時のみ、エラー発生時にプログラムの実行を終了したい場合。