Codable Tech Blog

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

2014-11-01から1ヶ月間の記事一覧

ジェネリックス(generics)

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

型の拡張(extensions)

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

プロトコル

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

クロージャ

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

列挙体(Enumlations)

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

継承

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

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

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

クラス

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

構造体(Struct)

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