J'ai utilisé NSOperationQueue dans mon application iPhone avant dans iPhone OS 3.0, mais maintenant dans iOS 4.0, le code ne fonctionne pas correctement. Il fonctionne correctement qu'une seule fois et sur tous les appels suivants, cela ne fonctionne pas. Y a-t-il eu des changements dans NSOperationQueue dans iOS 4.0?Pourquoi mon NSOperationQueue ne se comporte-t-il pas correctement dans iOS 4.0?
Le code correspondant est le suivant:
- (void) starteffectFunction {
NSOperationQueue *queue = [NSOperationQueue new];
NSInvocationOperation *operation = [[NSInvocationOperation alloc] initWithTarget:self selector:@selector(starteffectProcessing)
object:nil];
[queue addOperation:operation];
[operation release];
[queue release];
[spinner startAnimating];
}
-(void) starteffectProcessing{
some code executes. code snippet. A
......
this code is note supposed to execute before A completes. But this executes before A.
}
Veuillez expliquer "ne fonctionne pas". Est-ce qu'il plante ou ne fait rien du tout, obtenez un avertissement, et un message d'erreur, un autre indice? – DarkDust
Non, il n'y a pas d'avertissement, d'erreur, pas de crash. Ce que je fais est de créer une nsoperationqueue et d'exécuter une fonction. Et je montre un spinner jusqu'à ce que cette opération se termine. Cela fonctionne bien la première fois, mais la deuxième fois. Le code qui est censé s'exécuter après la fin de nsoperationqueue s'exécute avant la fin de l'opération nsoperation. – nishantcm
Pourquoi ne pas nous donner un extrait de code? – tia