美文网首页
#include/#import/@import/@class

#include/#import/@import/@class

作者: 宝宝丶菲 | 来源:发表于2018-01-31 18:06 被阅读0次

@class BaseUtils;

@interface ViewController : UIViewController

@property (nonatomic, strong) BaseUtils *utils;

- (void)sendUtil:(BaseUtils *)utils;

@end

@class  BaseUtils;

只引入BaseUtils这个类名,但是并没有引入BaseUtils的任何属性或者方法。

BaseUtils只能作为类实例的声明使用,但是BaseUtils声明的类实例,不能调用任何BaseUtils内部的方法或者属性。

#import 和 #include:

它们虽然都是对目标.h的整体进行引用,但是#import会保证每个头文件只会被引用一次。

#import 和 @import:

在.pch宏文件中,所有#import引用的类,会在编译工程时都被引用,这就会造成有一些类并不需要现在引用,但是也被提前引用了,造成引用泛滥。

@import引用的类,使用@符号将告诉编译器去使用Modules的引用形式:

当编译的文件需要引用某个框架时,先会进入module列表中寻找,找到了便直接使用框架,如果没有找到,则会先将引用的头文件加入module表中再使用该框架,保证只引用一次。

相关文章

网友评论

      本文标题:#include/#import/@import/@class

      本文链接:https://www.haomeiwen.com/subject/hzzaixtx.html