2017-07-08 8 views
-4

今、有名な図書館「RxSwift」を読んでいますが、質問があります。スイフト:何もない方法

this pageを参照してください。

あなたが知っている通り、_map<Element, R>(source: Observable<Element>, transform: @escaping (Element) throws -> R)はどのクラスや拡張機能にも属していません。

これはどのように説明されていますか?

私は「トップレベル」という概念を知っていますが、これはそれとは異なります。

説明できますか?

+3

_thisはそれと異なっています。 _ どうしてそう思うの?これは単なるトップレベルの機能です。 – OOPer

+0

ああ、本当ですか?私はトップレベルの概念がiOSの場合に@UIApplicationMainを持つクラスに適用されると仮定します。どこにでもトップレベルの関数を書くことができますか? –

+0

次に、通常のSwiftコミュニティでこの用語を使用しない独自の_top-level_コンセプトがあります。私はあなた自身のコンセプトの基礎が何かを聞くために開いています。 – OOPer

答えて

1

通常、このような機能は「グローバル機能」と呼ばれますが、この特定のケースでは、機能はグローバルではなくRxSwiftモジュールでのみ使用できます。 「トップレベル機能」はディスクリプタと同様に機能します。

概念は、クラス内のすべての機能を置くために必要とされるJava開発者をオフにスローする傾向があるが、その要件は、Javaだけ私の知る限りに適用される人工および任意の一つです...

+0

https://developer.apple.com/swift/blog/?id=7をご覧ください。彼らは「トップレベルのコードはあなたのアプリのソースファイルのほとんどには許可されていません」と言います。どこにでもグローバルな機能があれば、どういう意味ですか? –

+1

トップレベル*実行可能コードは許可されません。グローバル関数を定義*することはできますが、実際にはグローバルコンテキストで関数を呼び出すことはできません。 –

関連する問題