J'ai une erreur étrange qui apparaît récemment. Le NSOperationQueue dit qu'il a 1 objet mais je ne peux pas accéder à l'objet NSOperation à l'intérieur.NSOperationQueue exception hors plage
if ([[queue operations] count] > 0)
op = [queue.operations objectAtIndex:0];
Mais pour une raison quelconque, il finit à l'exception suivante: indice 0 au-delà des limites de tableau vide »
Je comprends le message d'erreur mais je suis surpris que je vérifiais le compte de file d'attente avant de demander l'objet lui-même.
Des idées s'il vous plaît?
Vous voulez dire qu'entre vérifier le nombre et l'affectation de la variable il y a un tel haut chance pour l'opération de finir? Etrange dans ce cas car l'affectation op = est inutile et ne peut pas être utilisée du tout. – Teddy
Yea concurrence est super n'est ce pas? C'est la raison de l'opération de copie, Si vous vouliez vraiment faire quelque chose avec la première opération, copiez les opérations comme dans mon exemple et ensuite vous pouvez utiliser 'op' en toute sécurité. Et si vous vous souciez si c'est fini ou non, appelez la méthode 'isFinished'. – Joe
Nice. J'ai utilisé un exemple de pomme dans mon code, mais il semble que ce "copier" des choses devrait être noté. Pendant ce temps, j'ai résolu le problème sans utiliser l'instruction op = car il n'y avait pas vraiment besoin de cela. Merci encore, Joe. – Teddy