QA@IT

Objective-Cのメソッド定義でメソッド名の前に付いているもの

2795 PV

Objective-Cの初心者です。

すごく初歩的なことだと思いますが、教えてください。

Objective-Cのクラスでメソッドを定義する場合、

-(void)doSomething;

のように記述するかと思います。

ところが、 UIApplicationDelegate では、以下のような定義があります。

- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions

(application:willFinishLaunchingWithOptions - UIApplicationDelegate Protocol Reference)

この定義の中で willFinishLaunchingWithOptions がメソッド名になるかと思いますが、その前にある application:(UIApplication *)application は、Objective-Cの文法的にどういった種類の要素を記述しているのでしょうか?

applicationUIApplication が何かということではなく、メソッド名の前に付いているものが文法的にわからないため教えてください。

また、それに関するリファレンスがありましたら、合わせて教えていただけると助かります。

よろしくお願いします。

回答

- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions

これのメソッド名は、下記のとおりです。

application:willFinishLaunchingWithOptions:

コロン(:)も含めた全体がメソッド名(セレクター名)です。

編集 履歴 (1)
  • さらに調べてようやくわかってきた気がします。
    `willFinishLaunchingWithOptions` はラベルなんですね。
    ありがとうございました。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。