1.#include与#import功能一样,都是导入头文件

2.区别是#include是单纯导入头文件,如果重复导入头文件,头文件就被导入多分

3.#import在导入头文件之前会检查之前是否导入过,如果导入过,就不在编译。防止重复编译

4.#import只能在OC中使用,#include既能在OC中使用又能在C中使用

5.@class防止循环导入,告诉下面有这个类。

下面用例子来说明一下:有两个类,一个Boy,一个Girl

Girl类

#import <Foundation/Foundation.h>

@class Boy;

//下面有Boy这个类型

//如果发生循环引用问题,用@Class解决.

//@Class是使用在.h文件中

//如果使用的Class就要在.m中#import

@interface Girl : NSObject

{

//Boy类型

Boy *_boyFriend;

}

@end

#import "Girl.h"

#import "Boy.h"

@implementation Girl

@end

Boy类:

#import <Foundation/Foundation.h>

@class Girl;

//@class告诉下面有Gril这个类型

@interface Boy : NSObject

{

Girl *_girlFriend;

}

@end

#import "Boy.h"

#import "Girl.h"

@implementation Boy

@end

include,import,@class的区别的更多相关文章

  1. 【转】#include,#import,@class的区别

    #include         #include  <>    :用于对系统文件的引用,编译器会在系统文件目录下去查找该文件.           #include "xx.h ...

  2. 转发(request.setRequestDispacter)和重定向(response.sendRedirect)的区别以及转发的include和forward的区别

    //response 重定向的时候,url是会跳转到新的页面的,输入的地址要包含项目名(可以跳到项目之外的页面,比如百度)//request 请求转发的时候,url是不会跳转到新页面的,输入的地址不包 ...

  3. php中include()和require()的区别

    1.引用文件方式 对 include()来说,在include()执行时文件每次都要进行读取和评估:而对于require()来说,文件只处理一次(实际上,文件内容替换 了require()语句.这就意 ...

  4. [转]require(),include(),require_once()和include_once()区别

    require(),include(),require_once()和include_once()区别 面试中最容易提到的一个PHP的问题,我想和大家共勉一下: require()和include() ...

  5. 关于require,require_once,include和include_once的区别

    一.定义 require,require_once,include,include_once都属于PHP的关键字,也就是说它们实际都是PHP的语句,而不是函数,类似于print,echo一样,也是PH ...

  6. PHP中include和require的区别

    include和require的区别,其实两者没有太大的区别,如果要包含的文件不存在,include提示notice,然后继续执行下面的语句,require提示致命错误并且退出. 根据测试,win32 ...

  7. php引入文件(include 和require的区别)

    引入文件: 首先需要一个php文件: <?php class shao//类名必须和文件名相同!!! { public $xxx="666"; } $shili = new ...

  8. module.exports,exports,export和export default,import与require区别与联系【原创】

    还在为module.exports.exports.export和export default,import和require区别与联系发愁吗,这一篇基本就够了! 一.首先搞清楚一个基本问题: modu ...

  9. php require、require_once和include、include_once的区别

    一.引入php文件路径的方法require '文件路径'; require ('文件路径');require_once '文件路径'; require_once ('文件路径');include 同 ...

随机推荐

  1. items2 配色

    cat ~/.bash_profile #enables colorin the terminal bash shell exportexport CLICOLOR=1 #sets up thecol ...

  2. WIn2003的IIS6解决IE11登录问题。

    一键批处理文件下载:http://download.csdn.net/detail/hospp/6850835 1.打开文件夹C:\Windows\Microsoft.NET\Framework\v4 ...

  3. confirm perspective switch 初始化

    更新代码与资源库同步时   也是这么设置

  4. 在C#中如何将多个rtf文件内容组合在一起用一个rtf文件保存?

    //重点为是使用 SelectedRtf 属性 private void button1_Click( object sender, EventArgs e ) { //mergeRTF为并内容后的 ...

  5. OC Runtime

    OC 是面向运行时的语言.Runtime就是系统在运行的时候的一些机制,其中最主要的是消息发送机制.OC语言与其他语言(如C语言)在函数(方法)的调用有很大的不同.C语言,函数的调用在编译的时候就已经 ...

  6. python 去掉列表(list)中的所有空元素

    while '' in listExample: listExample.remove('')

  7. VBS实现定时发送邮件

    原理:建立CDO.Message对象,设置好参数后直接Send就可以了 代码如下: NameSpace = "http://schemas.microsoft.com/cdo/configu ...

  8. 省市县三级联动(webFrom...DropdownList)

    编辑页面 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"&g ...

  9. C# windows form如何隐藏窗口?

    you can use this line of code. It wont hide it, but it will be minimized: this.WindowState = FormWin ...

  10. [Tomcat 源码分析系列] (二) : Tomcat 启动脚本-catalina.bat

    概述 Tomcat 的三个最重要的启动脚本: startup.bat catalina.bat setclasspath.bat 上一篇咱们分析了 startup.bat 脚本 这一篇咱们来分析 ca ...