プロトコル複数のクラスを作るとき、各クラスが必ず実装しなければならないメソッドがある場合にプロトコルを使用します。プロトコルを使用しなくても各クラスにメソッドを実装すればよいのですが、プロトコルを使用すればメソッドを実装していない時に警告が出るという点で「実装を義務付ける」ことができます。//drawメソッドを実装@endプロトコルは「@protocol」というコンパイラディレクティブを使って定義します。上記では、「Style」というプロトコルを定義して、drawメソッドの実装を義務付けています。Styleをスーパークラスとして継承する方法でも同じような仕組みを実現できます。クラスの結びつきが強くて共通の処理が多い場合は継承、一部メソッドなどの構成を統一したい場合はプロトコルを使うと良いと思います。ループ処理プログラムにおいて同一の処理を繰り返し行う場面は少なくありません。その場合ループ処理を記述することになります。ここではObjective-Cにおけるループ処理について説明します。単純なforループ以下は単純なループ処理を行っているコードです。配列、ディクショナリの値を取り出しています。Objective-Cの連想配列(ディクショナリ)配列には、インデックスを使って値を管理する「通常配列」と、一意のキーワードを使って値を管理する「連想配列」があります。Objective-Cでは通常配列を扱う場合はNSArrayクラスとNSMutableArrayクラスを使用しますが、連想配列を扱う場合はNSDictionaryクラスとNSMutableDictionaryクラスを使用します。Objective-Cでは連想配列のことを「ディクショナリ」と呼びます。NSDictionaryクラスは配列の内容が変更できないのに対してNSMutableDictionaryクラスは配列の内容を変更することができます。C言語の配列Objective-Cの配列の前にC言語における配列を簡単に紹介しておきます。これはC言語を知っていればおなじみなので細かい説明は省きます。可変文字列とNSMutableStringクラスNSStringクラスで保持している文字列は直接変更することができません。たくさんのメソッドが用意されていますが、保持している文字列を直接変更しているのではなく、処理結果を新しいNSStringオブジェクトとして返しています。文字列オブジェクトを変更したい場合はNSMutableStringクラスを使用します。Objective-CではこのようなNSMutable***クラス(変更できる)とNS***クラス(変更できない)のようなペアがよくあるので覚えておくと良いと思います。NSMutableStringクラスの使い方は以下の通りです。可変文字列")NSMutableStringはNSStringのサブクラスなので、NSStringのメソッドを使うことができます。ここではNSStringのメソッドであるstringWithString、stringWithCString、stringWithFormatの3種類を使用してインスタンスを生成しています。東京生まれの東京在住です。日々、インターネットを楽しみつつプログラミングなんかもしています。Androidに興味があります。