問題タブ [capture-list]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
97 参照

swift - 内部関数キャプチャ リストとその修飾子を迅速に指定する回避策はありますか

内部関数のキャプチャ リストの迅速な仕様を検索しましたが、運がなければ、これらの種類の参照サイクルを破る方法はありますか?

0 投票する
1 に答える
58 参照

swift - Swift: 弱い自己を使用してブロックベースの実行で原子性を維持する

以下のような弱い自己を使用するコードをよく見かけます。

しかし、self が nil の場合、 setGlobalState() は実行されたが self?.doSomething() は実行されなかったため、状態が矛盾しているように思えます。

次のようにするのが賢明なようです。

最初のケースでの原子性の欠如についての私の懸念は正当ですか? 弱い自己を使用するブロックに関しては、後者のケースがベスト プラクティスである必要がありますか?

0 投票する
0 に答える
36 参照

swift - キャプチャ リスト内の関数:「余分な引数ラベル」エラー

このコードは問題ありません。コンパイルして期待どおりに動作します。
しかし、代わりにキャプチャリストに関数自体を渡すとself:

エラーが発生します:

呼び出しの不要な引数ラベル 'number:'

ラベルをはがすと、すべてが正常に戻ります。
しかし、それは奇妙です。それは何ですか?バグまたは機能?ドキュメントでもフォーラムでも、これに関する情報は見つかりません。

おまけの質問:キャプチャ リスト
に渡すときにコードがクラッシュしないのはなぜですか? unowned selfクラッシュしませんか?クラッシュさせたい

編集:
ちなみに、この状況でキャプチャselfと機能自体に違いはありますか?リテインサイクルなどでいうと、機能をキャプチャーすれば、キャプチャーselfもされますよね。