Що саме означає __block
ключове слово в Objective-C? Я знаю, що це дозволяє змінювати змінні в блоках, але я хотів би знати ...
- Що саме це повідомляє компілятору?
- Чи робить це ще щось?
- Якщо це все, що це робиться, то навіщо це в першу чергу?
- Чи є в документах десь? (Я не можу його знайти).
__block
.
__block
слід перевести Objective-C на Swift: "Закриття [у Swift] має схожу семантику захоплення, як блоки [в Objective-C], але відрізняються одним ключовим способом: Змінні змінюються, а не копіюються. Іншими словами, поведінка __block в Objective-C є поведінкою за замовчуванням для змінних у Swift. " З книги Apple: Використання Swift з какао та Objective-C (Swift 2.2).