Codable Tech Blog

iPhoneアプリケーション開発と AWS(Amazon Web Service)活用に関する記事を配信

swift

switch文

switch文 if文を利用した場合分けの処理の中で、変数がどの値とマッチしているかを判断して処理を切り分けることがよく行われます。次のif文はnumの値がある値とマッチしていれば、printlnで文字列を出力し、いずれもマッチしなければ、マッチしなかった旨を…

ジェネリックス(generics)

ジェネリックスとは型に束縛されず、型自体をパラメータ化して扱うことです。ジェネリックスを使用しない場合の問題を確認することでジェネリックスを使用する有用性を確認してみましょう。 既存コードの問題点 Swiftのように型付けを行う言語では、同じ問題…

型の拡張(extensions)

拡張は既に存在するクラスや構造体、列挙体に対して新しく機能を追加する仕組みです。また、拡張は継承とは異なり、オリジナルのソースコードをなしで、機能を拡張することが出来ます。拡張を利用することで次のような機能を新規に追加できます。 コンピュー…

プロトコル

プロトコルはメソッドとプロパティの雛形で、実装はもちません。プロトコルは、単純にプロトコルとして定義されているメソッドやプロパティを実装することを要求するだけのものです。プロトコルとして定義されているメソッドやプロパティを実装することを「…

クロージャ

クロージャは関数と同様にあるタスクを実行するための実行コードです。クロージャーには以下の3つのパターンがあります。 関数 ネストした関数 クロージャー式 関数およびネストした関数については下記の記事を参照してください。 Swift 関数(Function) - C…

列挙体(Enumlations)

列挙体は関連する値をグループ化して定義したものです。以降では、列挙体の定義、利用法、列挙体のもつ機能についてみていきます。 列挙体の定義 列挙体はenumキーワードの後にenum名を続け、{}の中に定義を記述します。 enum 列挙体名 { //列挙体の定義 c…

継承

オブジェクト指向プログラミングでは継承と呼ばれる機能が存在します。継承とはあるクラスのプロパティとメソッドを引き継ぐ機能のことです。例えば、次のようなPersonクラスがあったとします。 このクラスを継承した場合、Personクラスのイニシャライザを除…

プロパティ(ストアドプロパティとコンピューテッドプロパティ)

Swiftではプロパティとしてストアドプロパティ(Stored Property)とコンピューテッド・プロパティ(Computed Property)が用意されています。以降ではこれらのプロパティに関する説明を行います。 ストアドプロパティ(Stored Property) ストアドプロパティ(St…

クラス

Swiftにおいて、構造体とクラスはプロパティとメソッドをもつオブジェクトです。いくつかの違いがありますが、まず、知っておいてほしいのは構造体は値型、クラスは参照型であるという点です。値型と参照型の違いは変数や定数への値の格納方法です。値型の場…

構造体(Struct)

データと処理は別々に扱うのではなく、データとそのデータと関連する処理を一緒に扱うために用意されているのが構造体です。データと処理を一緒に扱うことのメリットは管理のし易さにあります。データと関連する処理がまとまっていることによって、プログラ…

関数(Function)

関数は特定のタスクを実行するためのコードの塊です。特定のタスクを実行するためのコードの塊である関数には名前を付けることができます。タスクを実行したい時にはその名前を指定すれば関数を呼び出すことができます。以降では、関数の定義、呼び出し方、…

繰り返し文(for-in文、while文)

プログラムを書いていると同じ処理を何度も実行することがよくあります。この時、コピペで同じコードを書くのではなく、繰り返し処理を用いてコードを記述することで簡潔に繰り返し処理を実現することができます。繰り返し処理には繰り返し回数が決まってい…

コレクション型 ArrayとDictionary

プログラムでは複数個の同じ型のデータを扱いたいことがよくあります。例えば、学校のテストの得点を管理するプログラムを作成したい場合、人数分のテストの点数を管理する必要があります。生徒数が100人いた場合、テストのデータを変数で管理しようとす…

オプショナル(Optional)

値とnil 通常、オブジェクトは何らかの値を持ちますが、値をもたないケースも存在します。例えば、名前を管理するプログラムを作成する時、ファーストネーム、ミドルネーム、ラストネームの3つで名前を管理したとします。日本人の多くはミドルネームを持ち…

オブジェクト指向の概要

オブジェクト Swiftはオブジェクト指向プログラムをサポートした言語です。オブジェクト指向プログラムとはプログラミングする対象物をオブジェクトと見なしてソフトウェアを構築する手法になります。では、オブジェクトとは何なのでしょうか?オブジェクト…

if文

Swift V4.0に対応しましたプログラムは単純に順番に処理を実行するだけでなく、ある変数の値がAであれば処理Aを実行して、値がBであれば処理Bを実行するといった形で処理を分岐させることができます。 Swiftでは処理を分岐させるための命令としてif文、swi…

変数と定数

この記事はSwiftで利用される変数・定数、型について書いています。 変数と定数 変数および定数は値を後から再利用できるように値を保持する領域のことです。値を保存するには値を保存するための領域が必要になりますが必要な領域は保存する値によって異なり…