[iPhone] Objective-C メソッドを呼び出す

Objective-C でのメソッド、インスタンスメソッドとクラスメソッドの呼び出し方、使用例について、簡単に説明

インスタンスメソッド と クラスメソッド

Object-Cのメソッドにはインスタンスメソッドとクラスメソッドがあります。

  • インスタンスメソッド:
    • クラスをインスタンス化して実行するメソッドで,先頭にマイナス(-)をつけて定義します。
  • クラスメソッド:
    • クラスをインスタンス化しなくても実行できるメソッドで,先頭にマイナス(+)をつけて定義します。

インスタンスメソッドの定義については
[iPhone] Objective-C メソッドの使い方を参照してください。

XcodeでHello World などを実行する簡単な Single View Application のプロジェクトを作成します
Single View Application を作成 Single View Application

[Menu]->[New]->[File] からObject-C Filesを選ぶ

名前を決めて保存。保存先はプロジェクトフォルダー内のいずれか

同名のヘッダーファイルを作成

プロジェクトに


この MyClass に myMethod を定義して、ViewController.m から呼び出します。ここでは結果はデバッグログで確認 することにします。

MyClass.h

MyClass.m

ViewController.m

デバッグログで「こんにちは山田です」と
resultの値を表示しています。
method_result

クラスメソッド

クラスメソッドは、インスタンスメソッドとは違い、インスタンスには関係なく、クラスそのものに直結しているメソッドです。
上の例ではメモリの初期化として使っています。

クラスメソッドを宣言するのは、メソッドの宣言時に指定していたマイナス記号 – をプラス記号 + に置き換えるだけで、後はインスタンスメソッドと同じです。ただし、クラスメソッドにはインスタンスが存在しないため、クラス名を指定します。

メソッドはインスタンスと関連していないため、グローバル関数と変わりませんが、呼び出すときにメッセージ式を使ってメッセージを介して呼び出す必要があるというところです。

メッセージ式とは [MyClass initMyClass] の書式のことで、MyClass に「initMyClass」というメッセージを送りってそれを実行させることです。


ページのトップへ戻る

シェアする

  • このエントリーをはてなブックマークに追加

フォローする