2011-02-03 12 views
5

Como soy bastante nuevo en ObjC estoy atascado con el problema siguiente:Objetivo-c usando hilo provoca: objetivo no implementa selector de

Tengo una función DownloadFile

-(void) downloadFile:(NSMutableArray*)paramArray withDict:(NSMutableDictionary*)options  
{ 
    //do stuff 
} 

quiero empezar esto como un hilo, y por lo tanto yo uso esta línea de código:

NSThread* dLoad = [[NSThread alloc] initWithTarget:self selector:@selector(downloadFile:) object:nil]; 
[dLoad start]; 

me arroja el siguiente error:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSThread initWithTarget:selector:object:]: target does not implement selector (*** -[LaunchDownload downloadFile:])' 

¿Qué me falta aquí?

Respuesta

9

Creo que no está proporcionando suficientes argumentos para su hilo. El método que implementó tiene la firma downloadFile:withDict:, pero solo proporciona downloadFile:. Debes darle el nombre del selector correcto.

Tenga en cuenta que probablemente tenga problemas de todas formas: el NSThread class reference especifica que los métodos que llama de esta manera deben tomar solo un argumento. Recomiendo convertir tus dos argumentos a un único NSDictionary que tu método analice o repensar cómo estás enviando este hilo.

3

El nombre del método es downloadFile:withDict: y no descargaFile:.

Cuestiones relacionadas