2012-01-26 2 views
1

Я пишу следующий. Весь код написал с ARCКак объявить селектор как свойство iOS и как использовать мою собственность дальше?

@interface MPEvent : UIImageView 
@property (nonatomic, unsafe_unretained) SEL action; 
@property (nonatomic, strong) id target; 

@end 

Правильно ли указан селектор?

В реализации я использую свои свойства следующий таким образом:

- (void)sendActionToTargetFromView:(id)view { 
    [target performSelector:action withObject:view]; 
} 

Но компилятор показать мне предупреждение
предупреждение: Семантическая Проблема: PerformSelector может привести к утечке, потому что его селектор неизвестно

Как исправить это предупреждение?

+2

Возможный ответ здесь: http://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown –

ответ

5

В приведенном ниже примере -Warc-performSelector-leaks игнорируется только для одной строки кода, после чего диагностика возвращается в любое состояние ранее.

#pragma clang diagnostic push 
#pragma clang diagnostic ignored "-Warc-performSelector-leaks" 
    [self.ticketTarget performSelector: self.ticketAction withObject: self]; 
#pragma clang diagnostic pop 

pragma warnings help
Detailed description

Смежные вопросы