现在Swift是开源的,并且他们发布了一些库'像Foundation
这样的来源,我想知道如何将这些内容添加到Xcode
中,以便我可以查看NSString
(偶数String
?)任何项目我每次都不会在每次添加源代码时创建。
访问.swift
文件而非公共".h"
版本的方法。
答案 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。)
这里的想法是,应该能够编写使用NSURL
,NSDate
,NSFileManager
,NSFormatter
,NSString
的Swift代码(即一组丰富的,国际化的字符串处理功能,超出了Swift.String
提供的基础知识等等,无论该代码是使用Xcode为Apple平台构建还是使用开源Swift构建其他平台,都可以使用它。所以API是相同的,但实现是不同的。
但是,Foundation的两个实现都依赖于开源的低级库。基金会最基本的部分由CoreFoundation提供 - 这是一个C库,多年来一直是Apple的Darwin开源版本的一部分。其他部分使用International Components for Unicode库,libdispatch
和libxml2
。
无论如何......当你在Xcode的Swift项目中工作时,Jump to Definition(Cmd-click)功能应该让你进入SDK中的ObjC类的Swift接口,而不是ObjC这些类的标题。没有一种方便的方法可以让Xcode查找这些类的实际源代码(它们碰巧是开源的),但是你可以按照上面的链接。