主要是对系统文件的引用 #import " " ...">
美文网首页
#import #include @class区别

#import #include @class区别

作者: 佟掌柜666 | 来源:发表于2018-08-14 15:24 被阅读0次

1. import与include的 <> 与 "" 的区别

<>主要是对系统文件的引用    #import<UIKit/UIKit.h>

" " 是对用户自定义文件的引用  #import "baseViewController.h"

2.import 与 include 区别

主要是为了防止重复引用的问题

#import 大部分功能和#include是一样的,但是他处理了重复引用的问题,我们在引用文件的时候不用再去自己进行重复引用处理.

如果用include   ClassA中引用ClassC,ClassB引用ClassC,

ClassD同时引用ClassA与ClassB,如果不做重复引用的处理,编译会提示对ClassC重复引用的错误

#import 就不用做重复引用的处理

3.@class与import的区别

@class只是告诉编译器,其后面声明的名称是类的名称,至于这些类是如何定义的,不要要知道。

 #import会包含这个类的所有信息(包括实体变量和方法)

在头文件中,一般只需要知道被引用的类的名称就可以了,不需要关心类内部细节,所以用@class

在实现文件中,会用到被引用类的内部的实体变量和方法,所以用#import来包含被引用类的头文件

编译效率方面

    假如你有100个头文件都#import了同一个头文件A,或者这些文件存在依赖关系:A–>B, B–>C, C–>D...。当头文件A发生改变的时候,后面所有引用它的类都需要重新编译,这是非常耗性能的。而用@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"" ...

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

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

  • 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区别

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