您的位置:首页 > 移动开发 > IOS开发

iOS疯狂详解之warning:performSelector may cause a leak because its selector is unknown

2014-12-15 14:24 976 查看
主要是警告信息,在非ARC项目中没有这个警告。如果是在某一处修改只需要加入下列代码:

#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)

如果没有返回结果,可以直接按如下方式调用:

SuppressPerformSelectorLeakWarning(

    [_target performSelector:_action withObject:self]

);

如果要返回结果,可以按如下方式调用:

id result;

SuppressPerformSelectorLeakWarning(

    result = [_target performSelector:_action withObject:self]

);

更多iOS疯狂详解:http://blog.csdn.net/wanglongblog




                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐