Проблема с NSThread - PullRequest
       5

Проблема с NSThread

1 голос
/ 27 июля 2010

У меня есть вопрос; в моей программе, если я позвоню 2 раза

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

я создаю 2 потока или нет? Потому что в моей программе я не уверен создать 2 темы.
Спасибо

-(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];

  }
}

1 Ответ

4 голосов
/ 27 июля 2010

Метод performSelectorOnMainThread не создает новый поток, он просто отправляет селектор в основной поток. для создания новой темы используйте detachNewThreadSelector:toTarget:withObject:

...