2012-01-26 7 views
1

次に書きます。すべてのコードはARCで書いたセレクタをプロパティiOSとして宣言する方法と、次にプロパティを使用する方法は?

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

@end 

セレクタが正しく宣言されていますか?

私はこの方法の横に私のプロパティを使用して実装で

:セマンティック問題:そのセレクタがどのように

不明であるためPerformSelectorはリークが発生することがあり

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

しかし、コンパイラ私に警告
警告を表示この警告を修正しますか?

+2

ここに可能な答え:http://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown –

答えて

5

以下の例では、-Warc-performSelector-leaksはコードの1行だけ無視され、その後診断は以前に存在した状態に戻ります。

#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