您的位置:首页 > 其它

那些年我们手足无措的警告

2016-05-30 10:10 197 查看
Category is implementing a method which will also be implemented by its primary class 警告,这个警告的意思是 我在category中重写了原类的方法 而苹果的官方文档中明确表示
 我们不应该在category中复写原类的方法,如果要重写 请使用继承,

在target的 build settings下  搜索other warning flags  然后给其添加 -Wno-objc-protocol-method-implementation

好了  警告没有了

这里顺便说一下  上面的方法  对很多批量的警告很有用  而后面相关字段 -Wno-objc-protocol-method-implementation  其实是可以查得到的    方法是在xcode中选择你想屏蔽的警告,右键选择 reveal in log 就可以在警告详情中发现 -Wobjc-protocol-method-implementation  这么一个格式的字段 在-W后添加一个no-
 然后在用2中的方法添加到 other warning flags 中 就可以处理大部分的警告了

项目中使用到了从字符串创建选择器,编译时发现警告:"performSelector
may cause a leak because its selector is unknown"(因为performSelector的选择器未知可能会引起泄漏),在ARC模式下,运行时需要知道如何处理你正在调用的方法的返回值。这个返回值可以是任意值,如  
void
 ,  
int
 ,  
char
 ,  
NSString
 ,  
id
 等等。ARC通过头文件的函数定义来得到这些信息。所以平时我们用到的静态选择器就不会出现这个警告。因为在编译期间,这些信息都已经确定。

修改方法:

 [self.targetperformSelector:sel
withObject:btnafterDelay:0.0];

在末尾处添加:afterDelay:0.0

未完待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: