- 浏览: 271854 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (208)
- ios (94)
- android (28)
- j2ee (17)
- java (33)
- C++ (7)
- ios bug (3)
- iOS 4s 5s 适配 (2)
- iOS7 (6)
- java设计模式 (4)
- svn (1)
- git (2)
- cocoa2d-x (3)
- iphone (5)
- eclipse (7)
- mysql (1)
- oracle (0)
- sqlserver (0)
- 云计算 (0)
- html5 (0)
- object-c (7)
- div+css (3)
- photoshop (0)
- 常用算法 (1)
- jquery mobile (3)
- 手机网站 (4)
- Linux (7)
- 学习网址 (2)
- lua (1)
- swift (2)
- php (2)
- SSH (3)
- 笔试题 (6)
- spring (2)
- hibernate (2)
- struts2 (3)
- FreeMarker (0)
- Spring MVC (3)
- jquery (2)
- tomcat (3)
- apache (0)
- JBoss (1)
- 分布式应用与集群 (0)
- 名词概念解释 (1)
- EJB (1)
- webservice (0)
- maven (1)
- Mac OS X (6)
- 其他 (1)
- spring boot (2)
- spring security (1)
- spring io (1)
最新评论
-
paladinosment:
你这个spring注解大全,就这么几行,还真是全。。。。。
spring 注解大全 -
samlomg:
我擦!我都进来了,你给我看这个!
shell 写多行命令 -
wenrisheng:
可以,最后就再写上自己的一点新的体会,这样才提高的快!
SSH 包说明和下载路径 -
samlomg:
博主我能转载文章么?
SSH 包说明和下载路径
for example 三个文件
文件A.h
文件B.h
文件C.h
文件C.h需要引入A.h、B.h ,文件B.h需要引入文件A.h,这样就重复引用了A.h两次,使用#import可以进行优化
一、 Objective-C 中 #import 和 #include 的区别
预编译指令
Objective-C:#import
C,C++:#include
#import由gcc编译器支持
在 Objective-C 中,#import 被当成 #include 指令的改良版本来使用。除此之外,#import 确定一个文件只能被导入一次,这使你在递归包含中不会出现问题。
使用哪一个还是由你来决定。一般来说,在导入 Objective-C 头文件的时候使用 #import,包含 C 头文件时使用 #include。比如:
#import
#include
#include
#import比起#include的好处就是不会引起交叉编译
二、@class是用来做类引用的
@class就是告诉编译器有这么一个类,至于类的定义是啥不知道
@class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import
举个例子说明:
在ClassA.h中
#import ClassB.h 相当于#include整个.h头文件。如果有很多.m文件#import ClassA.h,那么编译的时候这些文件也会#import ClassB.h增加了没必要的#import,浪费编译时间。在大型软件中,减少.h文件中的include是非常重要的。
如果
只是@class ClassB 那就没有include ClassB.h。仅需要在需要用到ClassB的ClassA.m文件中 #import ClassB.h
那么什么时候可以用@class呢?
如果ClassA.h中仅需要声明一个ClassB的指针,那么就可以在ClassA.h中声明
@ClassB
...
ClassB *pointer;
文件A.h
文件B.h
文件C.h
文件C.h需要引入A.h、B.h ,文件B.h需要引入文件A.h,这样就重复引用了A.h两次,使用#import可以进行优化
一、 Objective-C 中 #import 和 #include 的区别
预编译指令
Objective-C:#import
C,C++:#include
#import由gcc编译器支持
在 Objective-C 中,#import 被当成 #include 指令的改良版本来使用。除此之外,#import 确定一个文件只能被导入一次,这使你在递归包含中不会出现问题。
使用哪一个还是由你来决定。一般来说,在导入 Objective-C 头文件的时候使用 #import,包含 C 头文件时使用 #include。比如:
#import
#include
#include
#import比起#include的好处就是不会引起交叉编译
二、@class是用来做类引用的
@class就是告诉编译器有这么一个类,至于类的定义是啥不知道
@class一般用于头文件中需要声明该类的某个实例变量的时候用到,在m文件中还是需要使用#import
举个例子说明:
在ClassA.h中
#import ClassB.h 相当于#include整个.h头文件。如果有很多.m文件#import ClassA.h,那么编译的时候这些文件也会#import ClassB.h增加了没必要的#import,浪费编译时间。在大型软件中,减少.h文件中的include是非常重要的。
如果
只是@class ClassB 那就没有include ClassB.h。仅需要在需要用到ClassB的ClassA.m文件中 #import ClassB.h
那么什么时候可以用@class呢?
如果ClassA.h中仅需要声明一个ClassB的指针,那么就可以在ClassA.h中声明
@ClassB
...
ClassB *pointer;
发表评论
-
xcode-select 命令
2016-10-11 09:05 1495xcode-select [-help] ... -
ios 10 适配
2016-10-09 10:36 336一、证书管理 用Xcode8打开工程后,比较明显的就 ... -
iphone,iPad的AppIcon与LaunchImage尺寸
2016-04-14 16:52 13871x 2x ... -
Privacy policy 隐私政策
2016-02-17 09:47 1049隐私政策 我们不会收集及任何形式存储来自你HealthK ... -
swift 学习教程
2016-02-15 15:59 391swift中文网:http://c.biancheng.ne ... -
iOS 通知
2015-10-30 12:02 650#define UMSYSTEM_VERSION_GREA ... -
ios 通知
2016-06-07 14:18 355苹果的通知分为本地通知和远程通知 若用户直接启动,la ... -
CocoaPods (二)
2015-05-28 09:09 684CocoaPods简介 每种语言发展到一个阶段,就会出现 ... -
xcode 静态库资源文件及xib打包
2015-04-08 22:24 2441xcode 静态库资源文件及xib封装目前有个需求,需要把. ... -
移动跨平台的10大跨平台工具
2015-03-13 11:30 666HTML/JavaScript/CSS篇1. PhoneGap ... -
autolayout第三方库
2015-02-05 10:50 404Masonry:https://github.com/Mas ... -
autolayout第三方库
2015-02-05 10:49 652Masonry:https://github.com/Mas ... -
手机支付开放平台
2015-02-03 15:28 501微信支付: https://open.weixin.qq ... -
IOS工程自动打包并发布脚本实现
2015-01-31 09:19 866前言 IOS的开发过程中 ... -
IOS 私有API的使用
2015-01-29 16:15 608做企业级程序,需要搞设备的udid等信息,但是ios7 ... -
Xcode iOS 制作静态库 .a 和 .framework的参考资料
2015-01-28 14:21 663http://blog.csdn.net/zsomsom/a ... -
Xcode 6制作动态及静态Framework
2015-01-28 14:06 3786创建iOS动态库 新建工程并选择默认Target为Coc ... -
PhoneGap 2.9配置安装
2015-01-27 09:39 3781.下载PhoneGap:http://phonegap.c ... -
xcode 安装wax oc lua
2015-01-23 18:01 1785关于ios调用lua,目前大 ... -
Xcode设置项之Architectures和Valid Architectures
2015-01-23 17:31 448http://www.cocoachina.com/indu ...
相关推荐
1. 一般来说,导入objective c的头文件时用#import,包含c/c++头文件时用#include。 2. #import 确定一个文件只能被导入一次,这使你在递归包含中不会出现问题。<标记> 所以,#import比起#include的好处就是不会...
1. 一般来说,导入objective c的头文件时用#import,包含c/c++头文件时用#include。 2. #import 确定一个文件只能被导入一次,这使你在递归包含中不会出现问题。<标记> 所以,#import比起#include的好处就是...
iOS 面试题: Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?...2.#import 跟#include 又什么区别,@class呢, #import<> 跟 #import”"又什么区别?
n #import vs #include:就如同你在 hello world 范例中看到的,我们使用了 #import。#import 由 gcc 编译器支持。我并不建议使用 #include,#import 基本 上跟 .h 档头尾的 #ifndef #define #endif 相同。许多...
#include <msxml.h> #import //读取XML文档 MSXML2::IXMLDOMDocumentPtr pDoc; //创建文档对象 MSXML2::IXMLDOMNodePtr pNode;
#import与#include 使用根框架 创建对象时尽量使用autorelease Autorelease之后retain Dealloc中应该按声明的顺序处理成员变量 Setters中对NSString进行copy 避免抛出异常 nil的检查 BOOL陷阱 属性 Cocoa模式 委托...
#import "C:\\Program Files\\Common Files\\System\\ado\\msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF") #pragma warning(default:4146) using namespace ADODB; class CAdoLx { _...
java棒打猪头游戏源码 Object-c的类可以多重继承么 ...答:#import是Objective-C导入头文件的关键字,#include是C/C++导入头文件的关键字,使用#import头文件会自动只导入一次,不会重复导入,相当于#
进口商Importer 向基于 JavaScript 的语言添加了#import语句,包括 CoffeeScript,其工作方式类似于基于 C 的语言中的#include 。 它将文件编译为 JavaScript,在您定义的位置将它们连接在一起,生成,并仅管理已...
2、"#import跟#include有什么区别,@class呢,#import<> 跟 #import”又有什么区别?" import是Objective-C导入头文件的关键字,#include是c/c++导入头文件的关键字,使用#import头文件会自动导入一次,不会重复...
使用简单但是功能强大的HTML预处理工具。包含#define,#include,#if,#evaluate, #AutoTag,#import等命令,并能插入SQL语句。能把TXT转换为HTML。
一.在IDE新建工程 二.配置库路径 ...选择“C/C++”页,在“Category”下拉列表中选择“Preprocessor”...在“Additional include directories”中,添加头文件和库的路径,比如: D:\ArcGIS\Include\CPPAPI,D:\ArcGIS\com
JSP的include指令的使用方法 一 语法 <%@ include file=URL%> 二 代码 1、date.jsp <%@ page language=java import=java.util.* contentType=text/html; charset=utf-8%> <%@ page import...
import 创建两个标题文件来重新构造C++源代码内的类型库内容。主要标头文件类似于生产有Microsoft“接口定义语言”(MIDL)编译器生成的文件,但是是使用附加的编译器生成的代码。“主要标头文件”具有与类库相同的基...
static作用 #import和#include的区别,@class代表什么 线程和进程的区别? 堆和栈的区别? Object-C的内存管理? 为什么很多内置的类,如TableViewController的delegate的属性是assign不是retain?
#if __has_include() #import #else #import "YYWebImage.h" #endif GitHub汇总 消除过期警告top /// 消除局部警告 #pragma clang diagnostic push #pragma clang diagnostic ignored <#参数#> /* 代码放这中间...
配置AppDelegate : 目标C: // / AppDelegate.h# import < Flutter># import < UIKit>@interface AppDelegate : FlutterAppDelegate@end // AppDelegate.m# include " AppDelegate.h "# include " ...