Objective-C 基礎(2)- Objective-Cの概要とメソッドの呼び出し




Objective-Cのプログラミングは、Mac OS Xの標準開発ツール「Xcode」を使用します。(テキストエディタとターミナルを使ってコマンドラインから開発することもできます)
Xcodeをインストールしていない人はObjective-C 基礎(1)- Xcodeのインストールとプロジェクトの作成を読んでインストールしてください。

§1 Xcodeプロジェクト作成

[ファイル]⇒[New]⇒[Project]からプロジェクトを作成します。テンプレートは[Command Line Tool]を選択します。[Type]は[Foundation]を選択し、プロジェクト名などを入力して保存します。
[Use Automatic Reference Counting]というチェックがありますが、これはARCといって、オブジェクトのメモリ管理の仕組みを使うかどうかを設定するものです。(Objective-C 5.0から導入されました)
これを利用するとオブジェクトの管理が簡単になります。ここでは「ON」にして、ARCを使うことにします。

作成されたプロジェクトには、main関数が記述された[main.m]が自動的に生成されます。基本的にこのファイルを編集してプログラミングします。[.m]という拡張子はC言語でいうところの[.c]と同じで、ソースコードファイルを意味します。

§2 Objective-Cのコード例

さて、いきなりですがObjective-Cのコード例を以下に記述します。

●@の意味
Objective-Cでは@で始まる記述を用いることでコンパイラに対してObjective-C独自の処理方法を示します。コンパイラディレクティブと呼びます。

●クラスの記述方法
クラスは以下のようなルールで記述します。宣言部分と実装部分に分けて記述します。

●id型
オブジェクト型の変数を宣言する場合、id型というデータ型を使う事ができます。どんなオブジェクトでも保存できるので便利です。クラス名を明示して「クラス名 *変数名」と記述してもOKです。

●メソッドの呼び出し方
クラスやインスタンスにあるメソッドを呼び出す場合は、[ ]を使って以下のような形で記述をします。

[インスタンス(or クラス) メソッド名]
[インスタンス(or クラス) メソッド名:値]

「呼び出す対象となるインスタンス」「呼び出すメソッドのキーワードや引数」といったものを順に[ ]内に記述します。

Objective-Cでは、「メッセージ式」と呼ばれる手法でメソッドの呼び出しを行っています。メッセージの送信先を「レシーバ」、そのレシーバに送るメッセージの内容を「セレクタ」といいます。

例えば、

という文は、testClassObj というレシーバに対してsetMyString というセレクタに@”ABCDEFG”という値をつけてメッセージを送っている、ということになります。

の場合は、testClassObj レシーバに、printString というセレクタを呼び出すメッセージを送っています。

レシーバーに向けてメッセージが送られ、セレクタによってどのメソッドを呼び出すのかが識別され、見つかったメソッドが実行されることになります。

C++風に記述すれば、

と同じようなカンジになります。

Objective-Cのクラスは「メソッド定義の方法」と「メソッドの呼び出し方法」が少し特殊なカンジなのでここは慣れておきたいところです。

Objective-C 基礎 目次

以下の記事も参考にして頂ければと思います。
Objective-C 基礎(1)- Xcodeのインストールとプロジェクトの作成
Objective-C 基礎(2)- Objective-Cの概要とメソッドの呼び出し
Objective-C 基礎(3)- クラス定義の方法
Objective-C 基礎(4)- クラスの使い方
Objective-C 基礎(5)- クラスメソッドとインスタンスメソッド
Objective-C 基礎(6)- 変数のスコープとプロパティ
Objective-C 基礎(7)- 変数のデータ型
Objective-C 基礎(8)- 文字列とNSStringクラス
Objective-C 基礎(9)- 可変文字列とNSMutableStringクラス
Objective-C 基礎(10)- Objective-Cの配列
Objective-C 基礎(11)- Objective-Cの連想配列
Objective-C 基礎(12)- ループ処理
Objective-C 基礎(13)- プロトコル


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

















チャーム本店



価格.com ブロードバンド

価格.com 自動車保険









■コメントはお気軽にどうぞ