Implementação do protocolo ObjC no Swift

Ok, aqui está o grande problema. Eu tinha uma biblioteca escrita em ObjC (esta) Lá nós tínhamos um protocolo definido. Quando tentei usá-lo em um arquivo rápido, fico constantemente:

O tipo "XXX" não está em conformidade com o protocolo "XXX"

Para simplificar as coisas, criei um projeto de teste - ele deveria ser criado como projeto Swift.

Em seguida, crie o arquivo de cabeçalho ObjC (eu chamei de StupidProtocol.h) com o seguinte protocolo interno (observe cada nome e valor para corresponder exatamente ao dado, incluindo maiúsculas / minúsculas):

@protocol MyProtocol <NSObject>

- (NSString *)getAxisLabel:(id)axis Value:(CGFloat)value;

@end

No cabeçalho da ponte:

#import "StupidProtocol.h"

E depois de volta no arquivo Swift:

class ViewController: UIViewController, MyProtocol
{
    func getAxisLabel(axis: AnyObject!, value: CGFloat) -> String! {
        return ""
    }
}

E baam, recebemos esse erro novamente, apesar de o preenchimento automático concluir a função getAxisLabel para mim.

Eu suspeito fortemente que o problema esteja no argumento "value" e no parâmetro de função "Value".

Qualquer ajuda será muito apreciada.

EDITAR

Por favor note queesta biblioteca tecnicamente não é meu, então não posso mudar isso. Preciso de uma maneira de usá-lo no Swift sem alterar sua declaração original. Meu exemplo é apenas para simplificar meu problema.

O QUE EU TENTEI

Eu tentei seguir cenários sem sucesso:

erro 'tem argumentos diferentes dos exigidos pelo protocolo'

func getAxisLabel(axis: AnyObject!, Value value: CGFloat) -> String! {
    return ""
}

erro 'tem argumentos diferentes dos exigidos pelo protocolo'

func getAxisLabel(axis: AnyObject!, Value: CGFloat) -> String! {
    return ""
}

'tipo não está em conformidade com o protocolo'

func getAxisLabel(axis: AnyObject!, Value: CGFloat) -> NSString! {
    return ""
}

SOLUÇÃO

Vejoresposta aceita

questionAnswers(1)

yourAnswerToTheQuestion