Objective-C メンバ関数(メッセージ)

メンバ関数(メッセージとも呼ぶ)の宣言

宣言

@interface クラス名 : スーパークラス名
{
    変数の宣言
}
    // 引数なし
    - (戻り値の型)関数名; 

    //引数一つ
    - (戻り値の型)関数名1:(引数1型)引数1名;

    //引数2つ
    - (戻り値の型)関数名2:(引数1型)引数1名 キーワード2:(引数2型)引数2名;

    //引数3つ以降
    - (戻り値の型)関数名3:(引数1型)引数1名 
              キーワード2:(引数2型)引数2名
              キーワード3:(引数3型)引数3名;
                      ...以下略
@end

定義

@implementation クラス名

    // 引数なし
    - (戻り値の型)関数名
    {
    関数の実装
    }

    //引数一つ
    - (戻り値の型)関数名1:(引数1型)引数1名
    {関数の実装}

    //引数2つ
    - (戻り値の型)関数名2:(引数1型)引数1名 キーワード2:(引数2型)引数2名;

    //引数3つ以降
    - (戻り値の型)関数名3:(引数1型)引数1名 
              キーワード2:(引数2型)引数2名
              キーワード3:(引数3型)引数3名;
                      ...以下略
    {関数の実装}
@end

キーワード
引数の説明などに用い、関数名+キーワード+引数の値で英文として
読めるようにすると良いらしい。
そのため第一キーワード(関数名部分)に第一引数の説明が含まれる場合がある。

関数名と:コロン,キーワードをつなげたものが関数の識別子となる。
その識別子をセレクタまたはメソッド名と呼ぶ。

- (戻り値の型)関数名:(引数1型)引数名;
        ↓
関数名:

- (戻り値の型)関数名:(引数1型)引数1名 キーワード2:(引数2型)
        ↓
関数名:キーワード2:

宣言部(@interface)で宣言が存在せずに
定義部(@implementation)で定義されている関数は、
そのクラスの外部から呼びだせない。
(C++の無名名前空間とほぼ同等の機能)

広告

akatukisiden について

フリーランスプログラマ 使用言語はC++,C#とそのつなぎのC++/CLI 専門はクライアントアプリ開発
カテゴリー: iOS, Objective-C パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中