2010-07-27 5 views
1

J'ai une question; dans mon programme si j'appelle 2 foisProblème avec NSThread

[self performSelectorOnMainThread:@selector(callDectectionMove:) withObject:[NSNumber numberWithInt:(int)i] waitUntilDone:false];

je crée 2 fils ou non? Parce que dans mon programme je ne suis pas sûr de créer 2 threads.
Merci

-(void)callDectectionMove:(NSNumber*)arrayIndex{ 

NSMutableDictionary *myDictionary = [[NSMutableDictionary alloc] init]; 
[myDictionary setObject:arrayIndex forKey:@"arrayIndex"]; 

identificationMove *identifier = [[identificationMove alloc]init]; 
[identifier setArrayIndex:(NSNumber*)arrayIndex]; 
[identifier detectionMove]; 

[identifier release];  
} 


-(void)detectPositionMovement{ 


for(int i = 0; i< [self.arrayMovement count]; i++){ 

    if((actualAccelerometerX+sensibilityMovement) > [[[[self.arrayMovement objectAtIndex:i] arrayPositionMove]objectAtIndex:0] valueX] && (actualAccelerometerX-sensibilityMovement) < [[[[self.arrayMovement objectAtIndex:i] arrayPositionMove]objectAtIndex:0] valueX] && 
    (actualAccelerometerY+sensibilityMovement) > [[[[self.arrayMovement objectAtIndex:i] arrayPositionMove]objectAtIndex:0] valueY] && (actualAccelerometerY-sensibilityMovement) < [[[[self.arrayMovement objectAtIndex:i] arrayPositionMove]objectAtIndex:0] valueY] && 
    (actualAccelerometerZ+sensibilityMovement) > [[[[self.arrayMovement objectAtIndex:i] arrayPositionMove]objectAtIndex:0] valueZ] && (actualAccelerometerZ-sensibilityMovement) < [[[[self.arrayMovement objectAtIndex:i] arrayPositionMove]objectAtIndex:0] valueZ]) 
    [self performSelectorOnMainThread:@selector(callDectectionMove:) withObject:[NSNumber numberWithInt:(int)i] waitUntilDone:false]; 

    } 
} 

Répondre

4

La méthode performSelectorOnMainThread ne crée pas nouveau thread, il envoie juste sélecteur sur thread principal. pour créer un nouveau thread utiliser detachNewThreadSelector:toTarget:withObject:

+0

Lire NSThread -> http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSThread_Class/Reference/Reference.html –