Pregunta

He estado rascándome la cabeza sobre esto durante las últimas 4 horas, probando todo tipo de pequeños experimentos, pero parece que no puedo descubrir qué está mal. ¿Podría ser este un error del 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];

Aquí está la advertencia del compilador (de Main.m):

ADVERTENCIA: Tipos de Objetivo C incompatibles 'Struct nserror **', esperado 'estructura nsdictionary **' al pasar el argumento 2 de 'initwithContentsOfurl: Error:' desde el tipo de objetivo distintivo-C de tipo distintivo

Estoy usando las últimas versiones de Xcode y Snow Leopard.

¿Fue útil?

Solución

Sospecho que está recogiendo una instancia diferente del selector, initWithContentsOfURL:error: - quizás el de NSAppleScript. Recuérdalo [NSObject alloc] Devuelve un id.

¿Su código funciona como se esperaba en el tiempo de ejecución?

Intente lanzar el regreso de [Test alloc] a Test*.

es decir


Test *t = [(Test*)[Test alloc] initWithContentsOfURL:[NSURL fileURLWithPath:@"/"] error:&error];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top