Como faço para retornar uma variável de um bloco dentro de um método?

Digamos que eu tenha esse método que, dado um URL, retorna um UIImage:

- (void)getUIImageFromURL:(NSURL *)URL {
    NSURLRequest *request = [NSURLRequest requestWithURL:URL];
    AFHTTPRequestOperation *imageOperation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    imageOperation.responseSerializer = [AFImageResponseSerializer serializer];

    [imageOperation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        return (UIImage *)responseObject;
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    }];

    [imageOperation start];
}

Mas continua me dando esse erro:

Tipos de ponteiro de bloco incompatíveis que enviam 'UIImage * (^) (AFHTTPRequestOperation * __ strong, _id forte) 'para parâmetro do tipo' void (^) (AFHTTPRequestOperation *_strong, __strong id) '

Eu sou um pouco novo em blocos, então talvez eu esteja me aproximando disso completamente para trás. Qual a melhor forma de implementar um método como este?

questionAnswers(3)

yourAnswerToTheQuestion