Вот как я реализую встроенное назначение обратного вызова в Objective-C:
self.beforeAdjustViews = ^ (UIView* btnView)
{
// do something
};
Как реализовать то же самое в Swift 5?
Можешь попробовать
self.beforeAdjustViews = { [weak self] (btnView) in
///
}
Вы можете назначить напрямую
self.beforeAdjustViews = { (button) in
// Write Some Code
}
или создайте ссылочную переменную для этого обратного вызова - обычно лучше, когда у вас много свойств или вы пытаетесь сделать свой код простым и красивым.
let beforAdjustViewsCallBack: (btnView: UIView) -> Void = { button in
// Write Some Code
}
Также имейте в виду, что применяются те же правила для циклов сохранения, поэтому, если вы не хотите сохранять сильную ссылку на self
внутри блока, вам нужно будет использовать либо [weak self]
, либо [unowoned self]
в зависимости от вашего варианта использования.