ios头文件

在OC中使用“头文件”与“实现文件”来区隔代码。头文件后缀用.h,实现文件后缀用.m。

在编译文件时,引入其他的文件时,需加入#import "xxxxxx.h"这句话。这种变化可行,但是不够优雅。因为在很多时候我们只需要知道有一个类叫这个名就好,而不需要知道此类的全部细节。所以我们需要这样写@class xxxxxx; 这叫做“向前声明”(forward declaring)该类。然而在实现文件中则需引入此类的头文件,因为若要使用此类,则必须知道其所有得接口细节。将引入头文件的时机尽量延后,只在确有需要时才引入,这样就可以减少类的使用者所需引入的头文件数量。

当解析一个头文件时,如果此头文件中有一个文件又引用了这个要解析的头文件。使用#import而非#include指令虽然不会导致死循环,但这两个类里有一个将会无法被正确编译。如果当前类继承自某个超类,或者要声明此类遵从某个协议(protocol),那么就不能用向前声明。向前声明只能告诉编译器有某个协议,而此时编译器要知道该协议中定义的方法。所以只能用#import

一般来说,应在某个类的头文件中使用向前声明来提及别的类,并在实现文件中引入那些类的头文件。这样做可以尽量降低类之间的耦合。

#import#include

在 Objective-C 中,#import代替C语言中的#include来使用。除此之外,#import确定一个文件只能被导入一次,不会出现交叉引用的问题。一般来说,在导入 Objective-C 头文件的时候使用#import,包含C语言头文件时使用#include

 
 
 

转载于:https://www.cnblogs.com/code4appstyle/p/4046630.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值