首页 > 其他 > 详细

Objective-C:@class和#import

时间:2015-12-23 20:58:40      阅读:243      评论:0      收藏:0      [点我收藏+]

@class和#import是OC中引用一个类的两种方式,其区别在于:

  • #import相当于把被引用文件的内容拷贝到目标文件,这会包含被引用类的所有信息,包括被引用类的变量和方法(会降低编译性能 );
  • @class方式只是告诉编译器在A.h文件中B *b ,只是类的声明,具体这个类里有什么信息,这里不需要知道,等实现文件中真正要用到时,才会真正去查看B类中的信息;
  • @class一般用在.h文件中,#import一般用在.m文件中。

使用原则:

  • 如果有大量头文件都#import了同一个文件,或者这些文件依次被#import,那么一旦最开始的头文件有改动,后面引用到这个文件的所有类都需要重新编译,这样效率低下,相对用@class就能避免这个问题;
  • 对于循环引用关系来说,比如A类引用B类,B类也引用A类,那么用#import会报错,此时只能用@class。

Objective-C:@class和#import

原文:http://www.cnblogs.com/yif1991/p/5064860.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!