iOS @class

来源:互联网 发布:spring中面向切面编程 编辑:程序博客网 时间:2024/05/22 03:17
@class
作用:可以简单地引用一个类(提高编译器性能)

简单实用
@class Dog
仅仅是告诉编译器:Dog是一个类; 并不会拷贝Dog这个类的内容
注意
由于@class仅仅告诉编译器这是一个类,编译器不知道这个类中的属性和方法,所以在.m中使用这个类时需要#import这个类才能使用.

具体实用
在.h文件中实用@class引用一个类
在.m文件中使用#import包含这个类的.h文件

总结
1.若在.h文件中使用#import,例如:person.h中引用了car.h,car.h中引用了wheel.h.若wheel.h有一点改变,car.h也会改变,person.h也会改变,降低了编译器性能.所以在.h文件中使用@class,在.m文件中要使用时再用#import引用.
2.如果在.h中用@class,在.m中#import,那么如果一个文件发生了变化,只有和这个文件有直接关系的文件才会重新拷贝,所以在.h用@class可以提升编译效率
3.如果两个类相互拷贝,会报错.
如何解决:在.h中用@class,在.m中用#import.交叉引用就不会形成死循环.
原创粉丝点击