Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 什么';什么是#导入<;图书馆/图书馆。h>;和#导入<;图书馆;使用椰子荚?_Ios_Cocoapods - Fatal编程技术网

Ios 什么';什么是#导入<;图书馆/图书馆。h>;和#导入<;图书馆;使用椰子荚?

Ios 什么';什么是#导入<;图书馆/图书馆。h>;和#导入<;图书馆;使用椰子荚?,ios,cocoapods,Ios,Cocoapods,我看过CoCoapod上的指南,建议导入所需的pod库头,如下所示: #import <Library/Library.h> #import <Library.h> (例如,#导入) 这两种方法都可以编译,并且似乎都可以工作 区别是什么?应该使用哪种方法?如果导入的标题是唯一的,则任何一种方法都可以正常工作。但是,如果您在两个不同的第三方库中有同名的头,那么它将变得不明确,您需要指定所需的头 一般来说,最好指定库名,这样就不会发生这种情况,但也因为读取代码的人会立即知

我看过CoCoapod上的指南,建议导入所需的pod库头,如下所示:

#import <Library/Library.h>
#import <Library.h>
(例如,
#导入

这两种方法都可以编译,并且似乎都可以工作


区别是什么?应该使用哪种方法?

如果导入的标题是唯一的,则任何一种方法都可以正常工作。但是,如果您在两个不同的第三方库中有同名的头,那么它将变得不明确,您需要指定所需的头

一般来说,最好指定库名,这样就不会发生这种情况,但也因为读取代码的人会立即知道头文件是哪个库的一部分,因为根据头文件名,它并不总是明显的。

实际上:

#import <Library/Library.h>
在这种情况下

A directory from where to preserve the folder structure for the headers files. If not provided the headers files are flattened.

所以,如果指定了header\u mappings\u dir-需要完整路径,因为pod安装将只指向放置header的根目录。

用户是否可以定义一个名为AFNetworking的自定义类,然后为了区分要使用哪个AFNetworking.h,需要将其与AFNetworking/AFNetworking.h一样放置。。。我不是这方面的专家,但你的问题很有趣+1这里有一些关于你问题的有用见解-@SamBudda,很好的链接。特别令人感兴趣的是,
带尖括号–这些尖括号用于系统或“全局”包括。
因为文件实际上位于Xcode
工作区中(也称为正在构建的项目的全局)
工作。至少,这是我的收获。是吗?是的,这就是我从中收集到的。值得一提的是,如果预处理器在
import
中发现不合格的标题,则Pods设置是错误的。这可能会导致标题冲突,例如lib A和lib B有一个同名的标题。因此,需要注意的是:使用
以使开发人员清楚,并避免重复的名称冲突。谢谢,加文@JRG开发者是的,记住从库“XYZ”导入名为“XYZ.h”的头并不总是很重要。有时它可能是“blah.h”,所以其他人不会直观地知道
#import
属于库“XYZ”。但是,
#import
使它立即变得清晰,并将其与
#import
区分开来。
 s.header_mappings_dir = 'SomeFolderWhereSourcesPlaced'
A directory from where to preserve the folder structure for the headers files. If not provided the headers files are flattened.