func Configure<T>(_ arg: T, _ closure: ((T) -> Void)? = nil) -> T { closure?(arg) return arg } я себе такую функцию помню писал и в итоге получалось такое: let label = Configure(UILabel()) { $0.font = UIFont.systemFont(ofSize: 14, weight: .semibold) $0.minimumScaleFactor = 0.1 $0.adjustsFontSizeToFitWidth = true $0.textAlignment = .center }
Дык вопрос не про то. Суть проблемы - нужно иметь возможность написать var a: SomeStruct = {} Без слов .init или SomeStuct(… __________________ А вообще, это делается для того, чтобы оборачивать completion блоки на уровне презентер слоя в нужные очереди и избавиться от вечных DispatchQueue.main.async и т.д., но сохранить синтаксис с trailing closure Может кто знает способ красивый? Можно через propertyWraper, но там минимальная версия при использовании в параметрах метода толи 12 толи 13, что слишком высоко(
completion блоки на уровне презентера? А точно с архитектурой все ок? 🙂
Ну да, идея в том, чтобы можно было при вызове сервиса указывать, в какой очереди выполнялся completion
var a = SomeStruct(...) даже меньше получается))
ну можно например очередь передать в качестве параметра в замыкание, а лучше enum
Обсуждают сегодня