Pergunta

Eu tenho coçado a cabeça sobre isso nas últimas 4 horas, experimentando todos os tipos de pequenos experimentos, mas não consigo descobrir o que está dando errado. Pode ser um bug do compilador?

Test.m:

- (id)initWithContentsOfURL:(NSURL *)aURL error:(NSError **)error
{
    if (!(self = [super init])) {
        return nil;
    }
    return self;
}

main.m:

NSError *error;

Test *t = [[Test alloc] initWithContentsOfURL:[NSURL fileURLWithPath:@"/"] error:&error];

Aqui está o aviso do compilador (de main.m):

AVISO: Incompatível Objetivo-C Tipos 'Struct NSerror **', esperado 'StructionTy **' ao passar o argumento 2 de 'initWithContentsOfurl: Erro:' De Distinct Objective-C Type

Estou usando as versões mais recentes do Xcode e Snow Leopard.

Foi útil?

Solução

Eu suspeito que está pegando uma instância diferente do seletor, initWithContentsOfURL:error: - Talvez o de NSAppleScript. Lembre-se disso [NSObject alloc] retorna um id.

Seu código funciona conforme o esperado em tempo de execução?

Tente lançar o retorno de [Test alloc] para Test*.

ou seja


Test *t = [(Test*)[Test alloc] initWithContentsOfURL:[NSURL fileURLWithPath:@"/"] error:&error];
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top