PerformSelector may cause a leak because its selector is unknown
2015-01-26 10:28
393 查看
在Objective-C中需要以函数名或者函数指针来调用函数时,以回调函数为例,对象为(id)target,它的成员函数名为callback,之前习惯是这么写的:
但是在ARC下会报一个warning: PerformSelector may cause a leak because its selector is unknown
在网上查,很多人说的方法都是定义宏去ignore warning之类的。总感觉很不爽。今天查到了正确的解决方法:
【解决方法】
这样就不会报warning了。
if ([target respondsToSelector:callback]){ [target performSelector:callback withObject:nil];}
但是在ARC下会报一个warning: PerformSelector may cause a leak because its selector is unknown
在网上查,很多人说的方法都是定义宏去ignore warning之类的。总感觉很不爽。今天查到了正确的解决方法:
【解决方法】
if ([target respondsToSelector:callback]){// [target performSelector:callback withObject:nil]; IMP imp = [target methodForSelector:callback]; void (*func)(id, SEL) = (void *)imp; func(target, callback);}
这样就不会报warning了。
相关文章推荐
- ios之"performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
- 如何解决使用ARC后出现的PerformSelector may cause a leak because its selector is unknown
- warning:performSelector may cause a leak because its selector is unknown
- ios之"performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
- warning:performSelector may cause a leak because its selector is unknown
- iOS疯狂详解之warning:performSelector may cause a leak because its selector is unknown
- ios之"performSelector may cause a leak because its selector is unknown"警告原因及其解决办法
- warning: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"警告原因及其解决办法
- 001、iOS 在使用 performSelector时 异常"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"警告原因及其解决办法
- performSelector may cause a leak because its selector is unknown
- Semantic Issue PerformSelector may cause a leak because its selector is unknown
- iOS 使用block时工程的警告perform selector may cause a leak because its selector is unknown
- 如何解决使用ARC后出现的PerformSelector may cause a leak because its selector is unknown
- warning:performSelector may cause a leak because its selector is unknown
- ios之"performSelector may cause a leak because its selector is unknown"警告原因及其解决办