zoukankan      html  css  js  c++  java
  • import,include

    1. #import导入头文件,即:导入头文件中的内容到当前类

    2. #import “”导⼊自定义类,#import <>导入类库中的头文件。

    3.功能类似C语言中的#include,但是可以避免头文件被重复导 入。(也即可以自动避免)

    4. 容易出现循环导入头文件问题。

     针对上面4的循环导入头文件而出现的死循环,OC中用@class + 类来解决

    @class A;//不会执行导入,只是声明了会用到A类,然后用到A类时会去A类中寻找

    // #import和#include相比,#import可以避免重复导入

    // #import 可能会造成循环编译,@class可以解决这个问题,@class A:只是将A声明成一个类

    // 编译器不会导入A的内容

    // 在使用@class的时候,一定要在.m中引入对应的头文件,例如:@class A;要在对应的.m文件

    // 中写:#import “A.h”

    @interface B : NSObject

    {

        A * _a;

    }

    @end

    ==================================
    B.m中内容:

    #import "B.h"

    #import"A.h"     //这里重点:这是在.m中导入的类,而死循环是因为都是在.h中导入,造成编译时

                      //的死循环

    @implementationB 

    @end

  • 相关阅读:
    图像滤波与OpenCV中的图像平滑处理
    OpenCV创建轨迹条,图片像素的访问
    模板类和友元的总结和实例验证
    C++中运算符重载
    C++之Stack模板类
    C++中explicit关键字的作用
    #ifdef-#endif的作用及其使用技巧
    ZOJ 3170 Friends
    ZOJ 3713 In 7-bit
    HDU 1421 搬寝室
  • 原文地址:https://www.cnblogs.com/ouyangxiaoyao/p/6269115.html
Copyright © 2011-2022 走看看