TOP - Objective-C - @selector

指定されたメソッドのコンパイルされたセレクタを返します。

@selector(名前1)
名前1  : コンパイルされたセレクタを獲得する対象となるメソッド名

(例)
※ Xcodeで生成される「***_Prefix.pch」などのファイルの内容は記載しません。

#import <Foundation/Foundation.h>

@interface MyTestClass1 : NSObject
- (void)test_sel;
@end

@implementation MyTestClass1
- (void)test_sel
{
    NSLog(@"MyTestClass1 → + (void)test_sel");
}
@end

@interface MyTestClass2 : MyTestClass1
@end

@implementation MyTestClass2
@end

int main (void)
{
    MyTestClass1 *c11 = [[MyTestClass1 alloc] init];
    MyTestClass1 *c12 = [[MyTestClass1 alloc] init];
    MyTestClass2 *c21 = [[MyTestClass2 alloc] init];

    SEL testSEL = @selector(test_sel);
    [c11 performSelector:testSEL];
    [c12 performSelector:testSEL];
    [c21 performSelector:testSEL];

    return 0;
}

実行結果
MyTestClass1 → + (void)test_sel
MyTestClass1 → + (void)test_sel
MyTestClass1 → + (void)test_sel


Copyright(C) 2006-2013 CLAYPOT. All Rights Reserved.