Я хочу создать функцию с завершением, как в этом коде. Таким образом, функция должна получить message
и блок завершения.
QMServicesManager.instance().chatService.chatAttachmentService.getImageForAttachmentMessage(message, completion: {
[weak self] (error: NSError?, image: UIImage?) -> Void in
guard attachmentCell.attachmentID == attachment.ID else {
return
}
self?.attachmentCellsMap.removeObjectForKey(attachment.ID)
guard error == nil else {
// TODO - ui. show error later
//SVProgressHUD.showErrorWithStatus(error!.localizedDescription)
print("Error downloading image from server: \(error).localizedDescription")
return
}
if image == nil {
print("Image is nil")
}
attachmentCell.setAttachmentImage(image)
cell.updateConstraints()
})
}
В Objective-C это просто объявлено как:
- (void)getImageForAttachmentMessage:(QBChatMessage *)attachmentMessage completion:(void(^)(NSError *error, UIImage *image))completion
Мне нужна такая же функция в Swift и как на самом деле обрабатывать этот блок.