iOS战记 ----OC基础语法之战(三)
一个机械设计者的转行之战。
我有一个价值十亿的 idea,只要开发这样一个APP,半年就会有一千万人用,一年就能纳斯达克上市。项目我已经规划的非常清楚,启动资金也很充足,现在就差一个程序员了!!!
我也有一个价值100亿的项目,吹牛的和分钱的都全了,就TM差一个干活的了~~~~~~~~~~
循环引入和重复引入的问题!
//#import(会造成循环引入) #include(会造成重复引入)
1) 一般来说,导入objective-c的头文件时用#import,包含c/c++头文件时用#include。
使用include要注意重复引用的问题:
例如#import "Person.h",再写一次#import "Person.h"也不会造成重复引入。
而 xcode中 用ifdef对#include进行了优化,也不会出现重复导入。
2) 两个类之间不能相互引入(我引入你 你引入我)。
例如:定义两个类,男人类和女人类,如果只是在男人的类里面简单的需要声明女人类,而不需要实现类里面的东西,那就只告诉本类这个Woman是一个类就可以了
// 解决办法:@class Man @class Woman 。
// @class只是声明一个类,没有引入。
// #include 也能引起循环引用的问题
2)#import 确定一个文件只能被导入一次,这使你在递归包含中不会出现问题。
所以,#import比起#include的好处就是它避免了重复引用的问题。所以在OC中我们基本用的都是import。
注释:// 导入头文件,即:导入头⽂件中的内容到当前类。
// #import “”导⼊自定义类
// #import <>导⼊类库中的头⽂件。
#import<> 包含iOS框架类库里的类,#import""包含项目里自定义的类。