Suppress warning “Category is implementing a method which will also be implemented b

来源:互联网 发布:msi风扇控制软件 编辑:程序博客网 时间:2024/05/16 01:07

xcode升级到4.4.1

如果一个对一个类中的函数进行重载,会报错

Suppress warning “Category is implementing a method which will also be implemented by its primary class”

解决方法是在重载函数实现前后加上下面的3行即可

===========================

http://stackoverflow.com/questions/9424004/suppress-warning-category-is-implementing-a-method-which-will-also-be-implement

Although everything bneely said is correct, it doesn’t actually answer your question of how to suppress the warning.

If you have to have this code in for some reason (in my case I have HockeyKit in my project and they override a method in a UIImage category) and you need to get your project to compile, you can use#pragma statements to block the warning like so:

#pragma clang diagnostic push#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"// do your override#pragma clang diagnostic pop

I found the information here: http://www.cocoabuilder.com/archive/xcode/313767-disable-warning-for-override-in-category.html



#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"

// do your override

#pragma clang diagnostic pop
==============================
加以上3句只是屏蔽编译器的提醒错误,并没有真正的解决.
这个提醒的问题是因为catagate没法对方法进行重载.
解决办法就是新建一个继承父类的子类,然后在子类中重载该方法即可.
原文地址:http://blog.csdn.net/a351945755/article/details/8156148

0 0
原创粉丝点击