@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表中再使用该框架,保证只引用一次。
网友评论