您的位置:首页 > 编程语言 > C语言/C++

黑马程序员 - OC语言 - 【考点】分类(Category)使用注意事项

2015-12-18 12:12 253 查看
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

1、分类的使用注意事项
1)分类只能增加方法,不能增加成员变量、@property(可能编译不报错,但是运行有问题)
@interfacePerson (study)
@propertyint age; -(void)study;
-(void)work;

@end
#import<Foundation/Foundation.h>#import"Person.h"
#import"Person+study.h"
intmain(int
argc,const char* argv[]) {

@autoreleasepool
{
Person*p = [Person
new]; [p eat];
[p
run];
p.age=
10;
}
return0; }

编译不报错,运行报错
2)分类可以访问原来类中的成员变量

 

 

3)如果分类和原来类出现同名的方法,优先调用分类中的方法, 原来类中的方法会被忽略
2、分类的编译顺序
最下面的是最后编译,当多个分类中有同名方法,则执行最后编译的文件方法

 

 

 

总结:
1,如果分类中有和类本身同名的方法,优先会调用分类中的同名方法;
2,如果多个分类中有同名的方法,执行哪个分类的方法,取决于编译的顺序,最后编译的那个分类中的方法会执行。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: