Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.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
如何查找可导入函数[Swift]_Swift - Fatal编程技术网

如何查找可导入函数[Swift]

如何查找可导入函数[Swift],swift,Swift,例如,sqrt(x)。基于我的搜索(也许是最有用的),我知道我可以导入Darwin或UIKit等,并让sqrt工作。(或根据,.squareRoot())但对于未来,谁知道我想要使用什么函数,我如何在没有人在这里询问的情况下自己找到它 在C++中(我更习惯于),我所要做的就是去任何类型的C++文档站点,搜索SqRT或平方根,我发现我应该包括CMAX或数学.H,如果我想看看CMODE中还有什么,那就太简单了,我只需点击一下。 但我在尝试与斯威夫特做类似的事情时经历了一段非常糟糕的时光。如果我搜索内

例如,
sqrt(x)
。基于我的搜索(也许是最有用的),我知道我可以导入Darwin或UIKit等,并让sqrt工作。(或根据,
.squareRoot()
)但对于未来,谁知道我想要使用什么函数,我如何在没有人在这里询问的情况下自己找到它

在C++中(我更习惯于),我所要做的就是去任何类型的C++文档站点,搜索SqRT或平方根,我发现我应该包括CMAX或数学.H,如果我想看看CMODE中还有什么,那就太简单了,我只需点击一下。 但我在尝试与斯威夫特做类似的事情时经历了一段非常糟糕的时光。如果我搜索内置文档或在线文档,对sqrt的最佳搜索是,但这绝对没有表明我可以通过导入Darwin来使用它,更不用说完全缺乏描述了。(幸运的是,搜索平方根确实可以找到
.squareRoot()
,但这并不需要导入,所以这不是真正的问题)

即使我已经知道(或猜测)并导入了它,然后在我键入它后单击sqrt选项,它让我知道它存在并且是Darwin.C.math的一部分,但我甚至不能单击它来查看其中还有什么

你是怎么学这些东西的

即使我已经知道(或猜测)并导入了它,然后在我键入它后单击sqrt选项,它让我知道它存在并且是Darwin.C.math的一部分,但我甚至不能单击它来查看其中还有什么


希望我没有误解这里的问题,但是在您的IDE中,您是否尝试过cmd单击—而不是您已经指出的选项单击—您想要查找的函数?这将直接带您到Darwin.C.math,而不仅仅是告诉您,
sqrt()
生活在那里。

很多东西的文档记录都非常糟糕。REPL autocomplete可以显示存在哪些全局函数,但是,
Foundation
UIKit
Cocoa
中导入,
Darwin
Foundation
中导入,因此,如果您只需
import Foundation
import UIKit/Cocoa
即可自动包含所有核心功能,具体取决于您还需要什么。欢迎使用so!事实上,欢迎使用Swift编程!您应该在去年迁移到Swift 3时看到这些问题。2014年,您确实需要体验在Xcode中编写Swift 1.0的过程。我的观点是:现在的情况几乎不稳定(前提是你已经在使用Swift 3,目标是苹果操作系统,并且知道在哪里可以找到关于什么是,是的,什么将是最好的文档)。上周,Swift 4取消了ABI稳定性,预计将在7-8个月内完成。细读其中的内容是对字符串类型的一次重大重构。最后,C++ben有多久了?@xoudini“取决于你还需要什么”部分有点像一个问题。。。我不知道什么地方在哪里,所以我不知道我需要包括什么。@ CEEGER最容易遵循的规则可能是:UIKIT文件,包括UI代码(例如UIVIEW),以及其他一切的基础。然后是其他模块,用于特殊需求,例如用于CLLocation的CoreLocation或用于MKMapView的MapKit。(这个建议显然是针对iOS/macOS开发者的。)这很有用,谢谢。正如你可能知道的,我才刚刚开始,当然还有很多特性要找。完成此操作后,是否有办法查看函数的实际功能?缺少描述虽然对熟悉的函数没有问题,但在将来可能会成为一个问题,但至少能够获得实际的函数代码将是一个问题。此外,不幸的是,这只解决了问题的一小部分,如果我还不知道(或猜测)什么东西在哪里,什么东西在哪里,这也没有真正的帮助。@ceegers取决于你看的地方。在Xcode中,您只看到一个生成的头,所以不会看到任何实现代码。但是,Swift是开源的,内核的部分也是如此,因此您可以在GITHUB上找到基础的源代码,也可以找到XNU源(不在SWIFT中写入),包括来自苹果站点的达尔文。我已经查看了XCODE包和系统库里面的内容,但是我只能找到一堆Darwin.swiftdoc和.swiftmodule文件,它们是用二进制编写的。我不确定这些是否是实际的实现——它们看起来可能是,只是不是人类可读的——或者苹果是否提供了原始的可读.c文件,但我在任何地方都找不到它们。