iOS

2013-04-30, ios objc xcode

performSelectorの警告を抑制する

動的にメソッド名を指定してコールできるperformSelectorですが、本当に動的に文字列などから指定すると、ビルド時に「メモリリークするかもしれませんよ」という警告が出て来ます。警告なので無視しても先には進めるのですが、どうにも気持ち悪い…という時は、以下のようにpragmaを使用して警告を抑制することが可能です。

NSString *foo = NSSelectorFromString(@"foo");

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
    [self performSelector:foo];
#pragma clang diagnostic pop

参考URL

この記事は役に立ちましたか?