黑马程序员技术交流社区

标题: 关于catgory应用中的问题 [打印本页]

作者: 3-_-3    时间: 2014-10-23 15:11
标题: 关于catgory应用中的问题
例如我们生命了一个类
@interface Student
-(void)Test;
@end
这个类的方法也在实现文件中实现了,这时如果我们在分类中实现了同样的方法
@interface Student(Test)
-(void)Test;
@end
能正常运行但为什么会警告。中间发生了什么?
作者: 3-_-3    时间: 2014-10-23 15:12
如果有高手请说的详细一点多谢了
作者: 3-_-3    时间: 2014-10-23 15:14
补充一下,如果在分类的声明文件中,声明这个同名方法,和不声明直接在分类实现文件中实现,有什么区别?
作者: Lxy    时间: 2014-10-23 17:33
有警告!是编译器不提倡分类中覆盖原始类方法!
如果重复声明,没有问题,就像C语言中多次加载头文件一样,没有问题!
作者: LeeWong    时间: 2014-10-23 22:58
2楼说的挺正确的  调用方法时 优先调用分类中的方法,如果在分类中重写了 原始类中的方法 就不会在调用原始类中的方法了,因此 编译器不建议你这么用  
我就知道那么多啦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2