#include 和 #import 的区别, @class 的含义

#import 和 #include  会包含这个类的所有信息,包括实体变量和方法 而#include比起 #import的好处不会引起重复包含

@class是用来做类引用的

@class就是告诉编译器有这么一个类,至于类的定义是啥不知道
@class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import

#include

区分 #include <x.h>与#include "x.h"的作用
        #include <x.h>:它用于对系统自带的头文件的引用,编译器会在系统文件目录下去查找该文件.
         #include "x.h":用户自定义的文件用双引号引用,编译器首先会在用户目录下查找,然后到安装目录中查找,最后在系统文件中查找。

时间: 2024-10-06 08:35:43

#include 和 #import 的区别, @class 的含义的相关文章

iOS #include与#import的区别

#include  #import  @class   讲解  #include 区分 #include <x.h>与#include "x.h"的作用 #include <x.h>:它用于对系统自带的头文件的引用,编译器会在 系统文件目录下去查找该文件. #include "x.h":用户自定义的文件用双引号引用,编译器首先会 在用户目录下查找,然后到安装目录中查找,最后在系统文件中查找. 在使用#include的时候要注意处理重复

(转载)OC学习篇之[email&#160;protected]关键字的作用以及#include和#import的区别

前一篇文章说到了OC中类的三大特性,今天我们来看一下在学习OC的过程中遇到的一些问题,该如何去解决,首先来看一下我们之前遗留的一个问题: 一.#import和#include的区别 当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误 但是使用两次#import的话,不会报错,所以他可以解决重复导入的问题,他会做一次判断,如果已经导入一次就不导入了 二.关键字@class的作用 在来看一下OC中的关键字@class的作用,在

OC学习篇之[email&#160;protected]关键字的作用以及#include和#import的区别

前一篇文章说到了OC中类的三大特性:http://blog.csdn.net/jiangwei0910410003/article/details/41707161今天我们来看一下在学习OC的过程中遇到的一些问题,该如何去解决,首先来看一下我们之前遗留的一个问题: 一.#import和#include的区别 当我们在代码中使用两次#include的时候会报错:因为#include相当于拷贝头文件中的声明内容,所以会报重复定义的错误 但是使用两次#import的话,不会报错,所以他可以解决重复导入

Objective-C 【关于导入类(@class 和 #import的区别)】

之前我们分析过 #include 和 #import 的区别,#import不会引起交叉编译,#import 确定一个文件只能被导入一次,使在递归包含中不会出现问题. 那么 #import 和 @class 又有什么区别呢? (1)从实质上来说. @class 和 #import 都是引入类的信息. 而不同的是 #import 会包含引入类的所有信息,包括实体变量和方法. 而 @class 一般是在头文件中使用的,因为他只告诉编译器,声明的类的名称,只是将这个类作为一个类型来用的(比如 Dog类

#import、#include、#import&lt;&gt;和#import””的区别

#import.#include.#import<>和#import””的区别 一.#import与#include #import不会引起交叉编译的问题.因为在Objective-C中会存在C/C++和Object-C混编的问题,如果用#include引入头文件,会导致交叉编译. 二.#import<>与#import"" 在实际运用中都是某个框架里的.#import <Three20/Three20.h><>通常指向的是一个目录#im

#import,#include与@class的区别

1.#include是C中用来引用文件的关键字,而#import是obj-c中用来代替include的关键字.#import可以确保同一个文件只能被导入一次,从而避免了使用#include容易引起的重复引用问题,即classA引用了classC,classB也引用了classC,而当classD同时引用classA,classB的时候就会报重复引用的错误. 2.#import""与#import<>:#import""实现从当前工作目录中找要导入的文件,

#include,#import ,@class 有什么区别?

#include 和 #import 有相同的效果,只不过#import 能确保头文件只被导入一次,不会引起重复导入.#import能把头文件的所有信息都获取到,包含这个类的变量和方法.而@class只是会告诉编译器,其后声明的名称是类的名称,至于这些类是如何定义的却完全不知道,因此,即使你在头文件中使用了@class,还是需要在声明文件.m中导入头文件的. 注意:@class 的使用时为了防止头文件之间互相导入(交叉导入):

iOS import,include和class的区别

#import 确定一个文件只能被导入一次,这使你在递归包含中不会出现问题 . import会包含这个类的所有信息,包括实体变量和方法(.h文件中) 在m文件中还是需要使用#import 一般如果有继承关系的用#import #import比起#include的好处就是不会引起交叉编译. 一般来说,导入objective c的头文件时用#import, 2. 能在实现文件中#import,就不在头文件中#import. 包含c/c++头文件时用#include. @class只是告诉编译器,其后

PHP中include和require的区别详解

1.概要  require()语句的性能与include()相类似,都是包括并运行指定文件.不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估:而对于require()来说,文件只处理一次(实际上,文件内容替换require()语句).这就意味着如果可能执行多次的代码,则使用require()效率比较高.另外一方面,如果每次执行代码时是读取不同的文件,或者有通过一组文件迭代的循环,就使用include()语句. require的使用方法如:require("myfil