__block
Objective-Cのキーワードは正確にはどういう意味ですか?ブロック内の変数を変更できることは知っていますが、知りたいのですが...
- それは正確にコンパイラに何を伝えますか?
- 他に何かしますか?
- それだけの場合は、そもそもなぜそれが必要なのでしょうか。
- ドキュメントのどこかにありますか?(私はそれを見つけることができません)。
__block
。
__block
がSwiftにどのように変換すべきか疑問に思っている場合:「[Swift内の]クロージャは、[Objective-C内の]ブロックと同様のキャプチャセマンティクスを持っていますが、1つの重要な点で異なります。変数はコピーではなく変更可能です。つまり、Objective-Cでの__blockの動作は、Swiftでの変数のデフォルトの動作です。」Appleの本から:CocoaおよびObjective-C(Swift 2.2)でのSwiftの使用。