У меня есть обработчик завершения, который мне нужно присвоить свойству, но я хочу, чтобы он выполнялся асинхронно.
Если бы у меня не было этого требования, я бы написал:
request.completionBlock = completionBlock
Но так как у меня есть это требование, я должен написать это
request.completionBlock = { response, error in
DispatchQueue.main.async {
completionBlock(response, error)
}
}
что кажется избыточным и небыстрым.
Нет ли более простого синтаксиса? Я хотел бы написать что-то вроде
request.completionBlock = completionBlock.map(DispatchQueue.main.async)
Могу ли я выразить свою потребность таким простым способом?
request
экземпляром типа, который вы можете изменить, или он должен быть его расширением/подклассом? - person DavidA   schedule 16.11.2016