只是分享我在连接点的日子里发现的事情.简短答案,导入搜索路径指定Swift查找和导入模块的位置.
原文链接:https://www.f2er.com/swift/318900.html模块和语义导入
什么是模块?模块通过用更强大,更有效的语义模型替换文本预处理器包含模型来改进对软件库的API的访问.从用户的角度来看,代码看起来略有不同,因为一个使用import声明而不是#include preprocessor指令,如下所示:
import std.io
苹果在LLVM DevMeeting上首次在2012年11月发布.您仍然可以在这里(Video和PDF)找到Doug Gregor的演讲.在WWDC 2013上,语义导入与iOS 7一起推出,@import只是为了它.所以决定性地将这个模块作为新语言Swift的一部分.模块的文档可以在here找到.
示例 – 如何导入
要品尝,下面是使用HTML Tidy库模块创建示例应用程序项目的步骤.
>在Xcode 6中创建Swift项目(OS X或iOS)
>创建一个module.map文件,并将其放在一个目录中.例如. /用户/ vladof /模块/
module tidy [system] { header "/usr/include/tidy/tidy.h" header "/usr/include/tidy/buffio.h" link "tidy" export * }
>构建设置,设置Swift编译器 – 搜索路径>导入路径到您将module.map文件放在./ Users / vladof / module中的目录中.然后,您可以使用导入整理,并利用HTML Tidy库的有用API,即使在Swift REPL中也是如此.
>导入
import tidy
>示例代码
var input: CString = "<node>upper case node</node>" var tdoc: TidyDoc = tidyCreate() // Initialize "document" var rc: Int32 = -1 var ok = tidyOptSetBool(tdoc,TidyUpperCaseTags,yes) // Convert tags to upper cases ok = tidyOptSetBool(tdoc,TidyXmlTags,yes) // Convert to XML if ok.value == 1 { rc = tidyParseString(tdoc,input) // Parse the input if rc >= 0 { rc = tidyCleanAndRepair(tdoc) // Tidy it up } if rc >= 0 { rc = tidySaveStdout(tdoc) // Pretty print to console } }
>打印
<NODE>upper case node</NODE>
得出结论
我也试过卷曲模块.实际上,一些API在我测试时不会导入,例如curl_easy_setopt(),让我们希望他们能在不久的将来赶上.但我很乐意为Swift开发商打开一扇门.