Objective-C

Objective-C 基礎(13)- プロトコル




複数のクラスを作るとき、各クラスが必ず実装しなければならないメソッドがある場合にプロトコルを使用します。プロトコルを使用しなくても各クラスにメソッドを実装すればよいのですが、プロトコルを使用すればメソッドを実装していない時に警告が出るという点で「実装を義務付ける」ことができます。
(他のプログラム言語ではインターフェースと呼ばれているものと同等です)

§1 単純なプロトコルの実装例

プロトコルは「@protocol」というコンパイラディレクティブを使って定義します。上記では、「Style」というプロトコルを定義して、drawメソッドの実装を義務付けています。

Styleをスーパークラスとして継承する方法でも同じような仕組みを実現できます。クラスの結びつきが強くて共通の処理が多い場合は継承、一部メソッドなどの構成を統一したい場合はプロトコルを使うと良いと思います。

続きを読む

シェアして頂けると嬉しいです

Objective-C 基礎(12)- ループ処理




プログラムにおいて同一の処理を繰り返し行う場面は少なくありません。その場合ループ処理を記述することになります。ここではObjective-Cにおけるループ処理について説明します。

§1 単純なforループ

以下は単純なループ処理を行っているコードです。配列、ディクショナリの値を取り出しています。

●NSArrayのループ処理

●NSDictionaryのループ処理

続きを読む

シェアして頂けると嬉しいです

Objective-C 基礎(11)- Objective-Cの連想配列




§1 Objective-Cの連想配列(ディクショナリ)

配列には、インデックスを使って値を管理する「通常配列」と、一意のキーワードを使って値を管理する「連想配列」があります。

Objective-Cでは通常配列を扱う場合はNSArrayクラスとNSMutableArrayクラスを使用しますが、連想配列を扱う場合はNSDictionaryクラスとNSMutableDictionaryクラスを使用します。また、Objective-Cでは連想配列のことを「ディクショナリ」と呼びます。

NSDictionaryクラスは配列の内容が変更できないのに対してNSMutableDictionaryクラスは配列の内容を変更することができます。

続きを読む

シェアして頂けると嬉しいです

Objective-C 基礎(10)- Objective-Cの配列




§1 C言語の配列

Objective-Cの配列の前にC言語における配列を簡単に紹介しておきます。これはC言語を知っていればおなじみなので細かい説明は省きます。

【1次元の配列】
●配列の宣言(要素数でサイズを指定)

●インデックスを指定して値をセットする

●宣言と同時に値もセットする

【多次元の配列】
●配列の宣言(要素数でサイズを指定)

●インデックスを指定して値をセットする

●宣言と同時に値もセットする

続きを読む

シェアして頂けると嬉しいです

Objective-C 基礎(9)- 可変文字列とNSMutableStringクラス




NSStringクラスで保持している文字列は直接変更することができません。たくさんのメソッドが用意されていますが、保持している文字列を直接変更しているのではなく、処理結果を新しいNSStringオブジェクトとして返しています。

文字列オブジェクトを変更したい場合はNSMutableStringクラスを使用します。Objective-CではこのようなNSMutable***クラス(変更できる)とNS***クラス(変更できない)のようなペアがよくあるので覚えておくと良いと思います。NSMutableStringクラスの使い方は以下の通りです。

§1 文字列の生成

●文字列(変更可能)の生成

NSMutableStringはNSStringのサブクラスなので、NSStringのメソッドを使うことができます。ここではNSStringのメソッドであるstringWithString、stringWithCString、stringWithFormatの3種類を使用してインスタンスを生成しています。

続きを読む

シェアして頂けると嬉しいです