iOS开发--"performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
2015-03-23 15:13
567 查看
今天编译时发现警告:"performSelector
may cause a leak because its selector is unknown"
找到解决办法如下:
方法一:使用函数指针方式
may cause a leak because its selector is unknown"
找到解决办法如下:
方法一:使用函数指针方式
SEL selector = NSSelectorFromString(@"someMethod"); IMP imp = [_controller methodForSelector:selector]; void (*func)(id, SEL) = (void *)imp; func(_controller, selector);当有额外参数时,如
SEL selector = NSSelectorFromString(@"processRegion:ofView:"); IMP imp = [_controller methodForSelector:selector]; CGRect (*func)(id, SEL, CGRect, UIView *) = (void *)imp; CGRect result = func(_controller, selector, someRect, someView);方法二:使用宏忽略警告
#define SuppressPerformSelectorLeakWarning(Stuff) \ do { \ _Pragma("clang diagnostic push") \ _Pragma("clang diagnostic ignored \"-Warc-performSelector-leaks\"") \ Stuff; \ _Pragma("clang diagnostic pop") \ } while (0)在产生警告也就是
performSelector的地方用使用该宏,如
SuppressPerformSelectorLeakWarning( [_target performSelector:_action withObject:self] );如果需要
performSelector返回值的话,
id result; SuppressPerformSelectorLeakWarning( result = [_target performSelector:_action withObject:self] );
相关文章推荐
- iOS开发-"performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
- ios之"performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
- iOS 之"performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
- "performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
- ios之"performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
- ios之"performSelector may cause a leak because its selector is unknown"警告原因及其解决办
- iOS之"performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
- ios之"performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
- ios之"performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
- "performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
- 001、iOS 在使用 performSelector时 异常"performSelector may cause a leak because its selector is unknown"
- IOS如何解决ARC后出现的PerformSelector may cause a leak because its selector is unknown
- iOS 使用block时工程的警告perform selector may cause a leak because its selector is unknown
- iOS PerformSelector may cause a leak because its selector is unknown
- 如何解决使用ARC后出现的PerformSelector may cause a leak because its selector is unknown
- 如何解决使用ARC后出现的PerformSelector may cause a leak because its selector is unknown
- iOS疯狂详解之warning:performSelector may cause a leak because its selector is unknown
- 如何解决使用ARC后出现的PerformSelector may cause a leak because its selector is unknown
- 如何解决使用ARC后出现的PerformSelector may cause a leak because its selector is unknown
- performSelector may cause a leak because its selector is unknown解决