performSelector mey leak

来源:互联网 发布:python 粒子群算法库 编辑:程序博客网 时间:2024/06/06 05:09
performSelector may cause a leak because its selector is unknown
解决办法:
1.
SEL selector = NSSelectorFromString(@"someMethod");((void (*)(id, SEL))[_controller methodForSelector:selector])(_controller, selector);
2.
#pragma clang diagnostic push#pragma clang diagnostic ignored "-Warc-performSelector-leaks"    [self.ticketTarget performSelector: self.ticketAction withObject: self];#pragma clang diagnostic pop
#define SuppressPerformSelectorLeakWarning(Stuff) \    do { \        _Pragma("clang diagnostic push") \        _Pragma("clang diagnostic ignored \"-Warc-performSelector-leaks\"") \        Stuff; \        _Pragma("clang diagnostic pop") \    } while (0)
3.
In your project Build Settings, under Other Warning Flags (WARNING_CFLAGS), add
-Wno-arc-performSelector-leaks
4.
SEL selector = @selector(zeroArgumentMethod);NSMethodSignature *methodSig = [[self class] instanceMethodSignatureForSelector:selector];NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:methodSig];[invocation setSelector:selector];[invocation setTarget:self];[invocation invoke];
http://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown

0 0
原创粉丝点击