A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 闫跃文 中级黑马   /  2014-9-27 19:02  /  1765 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

求解释????:handshake请详细一点啊

4 个回复

倒序浏览
include是包含头文件,也就是.h文件,是直接将包含的.h文件中得全部代码拷贝过来

import是导入,导入一个外部文件啥的,

class是申明一个虚类,举个例子:在.h头文件中一般class这么用,如果不这么用得话,正确做法就该include"Person.h"
  1. <p style="font-size: 18px; line-height: normal; font-family: Menlo; color: rgb(209, 47, 27);"><span style="color: #78492a">#import </span><Foundation/Foundation.h></p>
复制代码
在.m中
  1. #import "Person.h"

  2. @implementation Baby
复制代码

如果不用class,在.h中你要include"Person.h"头文件一次,在.m实现时又要包含一次,相当于拷贝了2次Person头文件进去,浪费了~~

回复 使用道具 举报
正解啊,咋感觉这么像C里面的东东
回复 使用道具 举报
首先,引入C或C++文件使用#include,但是使用#import可以避免引起交叉编译。@class和#import的区别在于,@class只是单纯告诉当前文件说,我现在后面这个东西是个类,但是这个类具体是什么样的,我没有告诉你。但是#import相当于把一个类的.h文件都引过来的。问题在于,我们什么时候用@class什么时候用#import呢?当你不需要告诉当前文件一个类的具体实现的时候,最好用@class,因为如果说在一个比较大的项目里面,许多类中都要导入很多的头文件,很容易造成循环引用。但是用@class的话,就会很好的避免这个问题!
回复 使用道具 举报 1 0
coyote 发表于 2014-9-27 22:17
首先,引入C或C++文件使用#include,但是使用#import可以避免引起交叉编译。@class和#import的区别在于,@c ...

好的,谢谢你啊
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马