美文网首页
#import,@class,#include的区别

#import,@class,#include的区别

作者: adrian920 | 来源:发表于2017-05-11 15:17 被阅读2次

#import和#include的区别

在我们的代码中,如果两次#include同一个文件的话,会报错,因为#include相当于是拷贝头文件中的声明内容,所以会报重复定义的错误;而@import则不会,它会做一次判断,如果已经导入就不导入了,所以可以解决重复导入的问题。

#import和@class的区别

#import导入会包含这个类的所有信息,包括属性,方法,而@class只是告诉编译器,其声明的名称是类名,至于这个类如何定义,先不考虑。只是为了编译通过,后面要使用这个类的属性方法的时候,还要#import这个类的头文件。

效率方面,@class高。比如你有1000个头文件都#import了同一个文件,或者这行文件是依次引用,A->B,B->C,C->D,这样的关系,当最开始的那个头文件有变化的话,后面所有应用它的类都要重新编译,这样将耗费大量时间。@class则不会。

相互引用方面,如A->B,B->A,这样的相互依赖关系,如果用#import,那么会出现编译错误,要使用@class。

相关文章

  • 基础面试题

    1,#import和#include区别 #import和@class的区别 #import<>和#import"...

  • OC基础

    1.#import、#include、@class、#import<>和#import""的区别?import 是...

  • iOS-题总结-1

    #import 跟#include、@class有什么区别?#import<> 跟 #import""又什么区别?...

  • 1:#import和#include有什么区别,@class,#

    1:#import和#include有什么区别,@class,#import<>跟#import" "有什么区别?...

  • iOS面试-1

    #import和#include有什么区别?@class呢?#import<>和#import""有什么区别? #...

  • iOS (持续更新)

    1、#import 跟 #include 有什么区别,@class呢,#import<> 跟 #import"" ...

  • iOS笔试题---001

    1.#import和#include的区别以及 @class 相关作用? import和#include都能完整地...

  • #import和#include,@class的区别

    #import和#include有什么区别,@class,#import<>跟#import" "有什么区别? i...

  • iOS笔试题

    1.#import跟#include、@class有什么区别?#import<>跟#import”"又什么区别? ...

  • iOS一些经典面试题

    1.#import跟#include、@class有什么区别?#import<>跟#import”"又什么区别? ...

网友评论

      本文标题:#import,@class,#include的区别

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