#import使用尖括号<>和引号""

qua*_*ano 111 syntax import packages objective-c

我想知道是什么决定你是否被允许使用<Header.h>或者"Header.h"当你在Objective-C中导入文件时.到目前为止,我的观察结果是您""在项目中使用了引用标记,这些文件是您获得实现源的,并且<>在引用库或框架时使用尖括号.

但究竟是如何运作的呢?为了让我自己的类使用括号,我需要做些什么?现在Xcode不允许我为自己的标题做这件事.

此外,通过查看一些框架标题,我看到标题相互引用<frameworkname/file.h>.这什么用?它看起来很像Java中的包,但据我所知,Objective-C中没有包这样的东西.

Mar*_*Pim 115

Objective-C与C/C++有共同之处; 引用的表单用于"本地"包含文件(您需要指定当前文件的相对路径,例如#include "headers/my_header.h"),而角括号形式用于"全局"包括 - 在传递给包含路径的某处找到的那些编译器(例如#include <math.h>).

所以,有自己的头用< >" ",你需要或者相对或者你的头目录到编译器的绝对路径通过.有关如何在Xcode中执行此操作的信息,请参阅"如何为Xcode添加全局包含路径".

有关详细信息,请参阅此MSDN页面.


ste*_*anB 13

在C中,惯例是在<system'目录中搜索<>括号中的头文件,在用户或本地目录中搜索"".

我猜,系统和本地的定义有点模糊.我认为它在包含路径或CPPFLAGS中的系统目录中查找,并且使用-I指定的本地目录或目录搜索"header.h"文件.

我认为它对Objective-C的工作方式类似.


Rod*_*eis 6

要使用"<>"导入自己的类,必须将头文件(*.h)放在编译器的lib文件夹中,或者将一个SYSTEM VARIABLES ponting设置到lib文件夹中.