Селекторы в target-c [дубликаты]

Возможный дубликат:
Являются ли селекторы в объекте c просто еще одним способом отправить сообщение объекту?

Я понимаю, как работает синтаксис @selector, но не могу понять, когда он полезен. Например, допустим, у меня есть класс Person;

Человек.ч

@interface Person : NSObject

-(void)printPersonName;
@end

чел.м

@implementation Person

-(id)init
{
    if (self = [super init]) {
        [self performSelector:@selector(printPersonName)];
        [self printPersonName];
    }
    return self;
}

-(void)printPersonName
{
    NSLog(@"My name is Steve");
}
@end

Этот фрагмент кода делает то же самое

[self performSelector:@selector(printPersonName)];
[self printPersonName];

Когда полезно @selector?


person OhDoh    schedule 26.02.2012    source источник