NSThread的问题

时间:2010-07-27 08:47:59

标签: iphone objective-c nsthread

我有一个问题;在我的节目中如果我打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 个答案:

答案 0 :(得分:4)

方法performSelectorOnMainThread不会创建新线程,只是在主线程上调度选择器。创建新线程使用detachNewThreadSelector:toTarget:withObject: