A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 愿我能 中级黑马   /  2014-4-22 11:28  /  1073 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

@class 只有在用到该类的时才会去类中查找,而#import 会将类文件全部导入,性能前者更高,那这样 遇到继承 和 组合 时,组合更应该使用@class吧,或者继承的话使用@class 也没问题吧

2 个回复

倒序浏览
@class是编译阶段告诉编译器某个类的声明,当执行时,才去查看类的实现文件,可以解决头文件的相互包含;
回复 使用道具 举报
@class :
在头文件中声明一个类的存在

为了提高效率,在只需要知道类的存在的情况下,不需要导入某个类的头文件。

// #import "Book.h"
@class Book;  // 不需要导入Book.h头文件,在.m文件真正使用的时候再导入
@interface Student : NSObject
@property Book *book;
@end
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马