是否可以将Swift源添加到Xcode?如果有,怎么样?

时间:2015-12-09 23:14:26

标签: swift

现在Swift是开源的,并且他们发布了一些库'像Foundation这样的来源,我想知道如何将这些内容添加到Xcode中,以便我可以查看NSString(偶数String?)任何项目我每次都不会在每次添加源代码时创建。

访问.swift文件而非公共".h"版本的方法。

1 个答案:

答案 0 :(得分:3)

Swift的开源版本包括Foundation和其他core libraries ... 但这些与为Apple开发时获得的库 不同使用Xcode及其附带的SDK的平台。

在iOS(和其他Apple平台)上,Foundation使用Objective-C构建。当您使用Xcode SDK在Swift中进行开发时,Swift运行时会自动将调用与ObjC代码进行桥接。 Apple不会发布此版本的Foundation的源代码。

当您使用开源Swift为非Apple平台(例如Linux)构建时,您将获得open-source, entirely-Swift version of Foundation。这是一个完全独立的项目,旨在提供原始Foundation中大多数关键原语和实用程序类的Swift 等效。 (目前它是incomplete。)

这里的想法是,应该能够编写使用NSURLNSDateNSFileManagerNSFormatterNSString的Swift代码(即一组丰富的,国际化的字符串处理功能,超出了Swift.String提供的基础知识等等,无论该代码是使用Xcode为Apple平台构建还是使用开源Swift构建其他平台,都可以使用它。所以API是相同的,但实现是不同的。

但是,Foundation的两个实现都依赖于开源的低级库。基金会最基本的部分由CoreFoundation提供 - 这是一个C库,多年来一直是Apple的Darwin开源版本的一部分。其他部分使用International Components for Unicode库,libdispatchlibxml2

无论如何......当你在Xcode的Swift项目中工作时,Jump to Definition(Cmd-click)功能应该让你进入SDK中的ObjC类的Swift接口,而不是ObjC这些类的标题。没有一种方便的方法可以让Xcode查找这些类的实际源代码(它们碰巧是开源的),但是你可以按照上面的链接。