В this приложения есть утверждение:Swift Особенного Закрытия Синтаксис
var instanceCount = { globalHappinessInstanceCount++ }()
Пытаясь понять приведенное выше утверждение, я обнаружил, что, насколько я проверил, заявление ниже достигает тот же результат:
var instanceCount = globalHappinessInstanceCount++
Q1. Какое первое утверждение достигается тем, что второе не делает?
Q2. Являются ли() фигурные скобки после выражения закрытия, означающего пустой кортеж, синтаксис инициализатора ... или что? I. Как следует прочитать первое утверждение?
Так что даже в классе scope есть первое заявление, по-прежнему использующее ненужное закрытие? –
Я думаю, нам нужно defer {globalHappinessInstanceCount + = 1}, потому что ++ постфикс. –
Итак, теперь для Swift 3, устаревшего ++, нам нужно добавить спецификацию типа Int, блок отсрочки и оператор возврата. Может ли это быть достаточной причиной для давления на отмену устаревшего решения оператора? –