从品牌网站建设到网络营销策划,从策略到执行的一站式服务
在.h和.m文件中,什么时候才用#import,什么时候采用@class呢?先来看看两者有啥不同。
站在用户的角度思考问题,与客户深入沟通,找到白云网站设计与白云网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都网站建设、企业官网、英文网站、手机端网站、网站推广、域名申请、网络空间、企业邮箱。业务覆盖白云地区。区别一 :从包含的内容来看。
当使用#import的时候,它会包含这个类的所有信息,如属性,方法等。而@class则只是告诉编译器,其后面跟着的是类的名字,至于后面如何定义的,暂时不需要知道。在.h文件中,一般只需要知道类的名称就可以了,所以一般使用@class来引入这个类。 而在具体的实现类.m文件里面,我们常常会用到类的成员(属性,方法等),因此就需要使用#import了。 当然.h文件里面使用它也是完全没问题的。
区别二:从编译效率上看。
如果在.h文件中使用#import,假设A,B,C,D四个.h文件。并且四个文件存在依次引用关系,例如A—>B,B—>C, C—>D。当开始的头文件A有变化的时候,后面的所有引用它的类都得重新编译,如果几十个.h文件都存在这种依赖关系,那么重新编译耗时就比较长了,效率也就低了(主要指开发过程中,打好包之后没啥问题)。使用@class则不存在该问题,编译效率上来说是比较高的。
比较蛋疼的场景
假如存在循环依赖关系,例如A—>B,B—>A。如果使用#import来相互包含,在编译的时候就会报错,此时使用@class name在两个.h文件中相互声明则不会有这种问题。所以在.h文件中还是比较推荐使用@class,能够避免一些不必要的编译错误。
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图