zoukankan      html  css  js  c++  java
  • @class和#import

    @class

    作用:

      可以简单的引用一个类

    简单使用:

      @class Dog;

      仅仅是告诉编译器,Dog是一个类;并不会包含Dog这个类的所有内容

    具体使用:

      在.h文件中使用@class引用一个类

      在.m文件中使用#import包含这个类的.h文件

    作用上的区别

      #import会包含引用类的所有信息(内容),包含引用类的变量和方法

      @class仅仅是告诉编译器有这么一个类,具体这个类里有什么信息,完全不知道

    效率上的区别

      如果有上百个头文件都#import了同一个文件,或者这些文件依次被#import,那么一旦最开始的头文件稍有改动,后面引用到这个文件的所有类都需要重新编译一遍,编译效率非常低

      相对而言,使用@class方式就不会出现这种问题了

    其他使用场景

      对于循环依赖关系来说,比如A类引用B类,同时B类也引用A类

      这种嵌套包含的代码编译会报错

      当使用@class在两个类相互声明,就不会出现编译报错

  • 相关阅读:
    hdu 5151 Sit sit sit
    hdu 5150 Sit sit sit
    cf C. Arithmetic Progression
    hdu 5125 magic balls
    Pots(bfs)
    Prime Path(素数筛选+bfs)
    A Knight's Journey(dfs)
    Colored Sticks (字典树哈希+并查集+欧拉路)
    Squares(哈希)
    Gold Balanced Lineup(哈希表)
  • 原文地址:https://www.cnblogs.com/saurik/p/4831380.html
Copyright © 2011-2022 走看看