- 浏览: 283101 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (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 1660xcode-select [-help] ... -
ios 10 适配
2016-10-09 10:36 398一、证书管理 用Xcode8打开工程后,比较明显的就 ... -
iphone,iPad的AppIcon与LaunchImage尺寸
2016-04-14 16:52 14751x 2x ... -
Privacy policy 隐私政策
2016-02-17 09:47 1108隐私政策 我们不会收集及任何形式存储来自你HealthK ... -
swift 学习教程
2016-02-15 15:59 459swift中文网:http://c.biancheng.ne ... -
iOS 通知
2015-10-30 12:02 706#define UMSYSTEM_VERSION_GREA ... -
ios 通知
2016-06-07 14:18 410苹果的通知分为本地通知和远程通知 若用户直接启动,la ... -
CocoaPods (二)
2015-05-28 09:09 756CocoaPods简介 每种语言发展到一个阶段,就会出现 ... -
xcode 静态库资源文件及xib打包
2015-04-08 22:24 2524xcode 静态库资源文件及xib封装目前有个需求,需要把. ... -
移动跨平台的10大跨平台工具
2015-03-13 11:30 716HTML/JavaScript/CSS篇1. PhoneGap ... -
autolayout第三方库
2015-02-05 10:50 442Masonry:https://github.com/Mas ... -
autolayout第三方库
2015-02-05 10:49 729Masonry:https://github.com/Mas ... -
手机支付开放平台
2015-02-03 15:28 556微信支付: https://open.weixin.qq ... -
IOS工程自动打包并发布脚本实现
2015-01-31 09:19 922前言 IOS的开发过程中 ... -
IOS 私有API的使用
2015-01-29 16:15 656做企业级程序,需要搞设备的udid等信息,但是ios7 ... -
Xcode iOS 制作静态库 .a 和 .framework的参考资料
2015-01-28 14:21 766http://blog.csdn.net/zsomsom/a ... -
Xcode 6制作动态及静态Framework
2015-01-28 14:06 3863创建iOS动态库 新建工程并选择默认Target为Coc ... -
PhoneGap 2.9配置安装
2015-01-27 09:39 4231.下载PhoneGap:http://phonegap.c ... -
xcode 安装wax oc lua
2015-01-23 18:01 1853关于ios调用lua,目前大 ... -
Xcode设置项之Architectures和Valid Architectures
2015-01-23 17:31 558http://www.cocoachina.com/indu ...
相关推荐
* include():包括指定的头文件。 * inject_statement:将指定的语句注入到生成的代码中。 * named_guids:使用命名的GUID代替默认的GUID。 * no_auto_exclude:不自动排除类型库成员。 * no_dual_interfaces:不...
在C/C++编程中,`#import`、`#include`和`@class`都是预处理器指令,用于处理源代码中的文件引用,但它们在不同的上下文和目的中具有特定的差异。 首先,`#import`是Objective-C中的指令,主要用于引入Objective-C...
在iOS开发中,我们经常会遇到#import、#include和@class这三个指令,它们在不同的场景下有着不同的作用和使用规范。理解它们的区别对于优化代码结构和提高编译效率至关重要。 首先,#import是Objective-C中的标准...
iOS 面试题: Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?...2.#import 跟#include 又什么区别,@class呢, #import<> 跟 #import”"又什么区别?
这些文件通过 `#include` 被包含在主要标头文件中。 这两个文件都会被保存在由 `/Fo` 选项指定的输出目录中,并且可以被编译器像普通头文件一样编译。 #### 八、优化与重构 - **缓存机制**:当编译器处理 `#...
3. **添加头文件路径**:在“Additional include directories”文本框中,输入 ArcGIS SDK 中头文件所在的路径。例如,如果您的 SDK 安装在 D 盘的 ArcGIS 文件夹中,那么可以输入如下路径: - `D:\ArcGIS\Include\...
#include <msxml.h> #import //读取XML文档 MSXML2::IXMLDOMDocumentPtr pDoc; //创建文档对象 MSXML2::IXMLDOMNodePtr pNode;
- **#import与#include**:`#import`用于导入头文件,与`#include`类似但提供了更好的性能和代码优化。`#import`会自动处理头文件重复导入的问题,而`#include`通常需要配合预处理器指令如`#ifndef`、`#define`、`#...
#include "D:\Temp\vc\simpCOM\simpCOM.h" ``` 然后,我们可以使用 CoCreateInstance 函数来创建 COM 组件的实例。 ```cpp CoInitialize(NULL); IFoo* pFoo = NULL; HRESULT hr = CoCreateInstance(CLSID_Foo, NULL,...
例如,Java使用import语句导入类或包,Python使用import语句导入模块或包等。 掌握预处理指令#include的用法对于一个程序员来说是基础且重要的一部分,因为它关系到代码的组织和管理。在实际开发中,合理运用#...
#include "stdafx.h" #import "msxml4.dll" using namespace MSXML2; #import "C:/Program Files/Common Files/MSSoap/Binaries/mssoap30.dll" \ exclude("IStream", "IErrorInfo", "ISequentialStream", \ ...
#### 六、#import与#include的区别 **#import与#include的主要区别** - **重复包含保护**:`#import`会自动忽略重复包含同一文件的情况,而`#include`则不会,可能导致编译错误或资源浪费。 - **头文件导入顺序**:`...
在Objective-C中优先使用`#import`而非`#include`,因为`#import`有防止重复导入的特性。尽量使用 angle brackets (`< >`) 包裹系统框架的引用,而使用双引号 (`" "`) 包裹自定义类的引用。 #### 4.2 使用框架根 ...
#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 { _...
此外,可能还需要在Tools - Options下添加Mo2.ocx目录到include路径中。 3. **添加变量声明**:在View类的私有部分添加以下变量声明: ``` MapObjects2::IMoMapPtr m_moMap; ``` 4. **编译和测试**:保存所有...
java棒打猪头游戏源码 Object-c的类可以多重继承么 ...答:#import是Objective-C导入头文件的关键字,#include是C/C++导入头文件的关键字,使用#import头文件会自动只导入一次,不会重复导入,相当于#
进口商Importer 向基于 JavaScript 的语言添加了#import语句,包括 CoffeeScript,其工作方式类似于基于 C 的语言中的#include 。 它将文件编译为 JavaScript,在您定义的位置将它们连接在一起,生成,并仅管理已...