天天看点

ios中#import与@class的区别

1,#import是将指定的类的文件的内容拷贝到写指令的地方

2,@class并不会拷贝批定的类的任何内容,只是告诉编译器,这是一个类,这样编译器在编译的时候,才可以知道这是一个类。

关于@class的使用场景:一个Person类,一个Book类,当Person作为Book的属性而Book又作为Person的属性时,此时,两个类中,不能同时使用#improt。需要一边使用#improt,一另使用@class(此时需要在.h文件中使用@class,在.m中仍然使用#import)

3,当出现如上情况,需要注意对象的循环引用,解决方案时,在使用@property时,参数一边使用retain,一边使用assign,并且assign一端不用在dealloc中不再需要release。