斯威夫特:不属于什么的方法

问题描述:

现在我正在阅读着名的图书馆“RxSwift”,但我有一个问题。斯威夫特:不属于什么的方法

参见this page

如您所知,方法_map<Element, R>(source: Observable<Element>, transform: @escaping (Element) throws -> R)不属于任何类或扩展或类似的东西。

这是如何解释的?

我知道“*”的概念,但这与它有所不同。

你能解释一下吗?

+3

_this是与它不同。 _ 你为什么这么认为?这只是一个*功能。 – OOPer

+0

哦,真的吗?我假设*概念适用于iOS中具有@UIApplicationMain的类。我们可以在任何地方编写*功能吗? –

+0

然后,您有自己的_top-level_概念,通常Swift社区不会使用该术语。我很乐意听到你自己的概念是什么。 – OOPer

通常这样的函数被称为“全局函数”,尽管在这种特殊情况下函数只能在RxSwift模块中使用,而不是全局使用。 “*功能”和描述符一样好。

概念往往甩开需要把每一个功能的一类谁Java开发人员,但要求是人工和任意一个只适用于Java的AFAIK ...

+0

请参阅https://developer.apple.com/swift/blog/?id=7?他们说“大部分应用程序的源文件中不允许使用*代码”。如果我们可以在任何地方使用全球功能,这意味着什么 –

+1

**可执行*代码是不允许的。你可以*定义一个全局函数,但是你实际上不能在全局上下文中调用一个函数。 –