J'essaie de comprendre NsoperationQueue et j'essaie de créer l'exemple le plus simple possible. J'ai ce qui suit: mais aimerait faire cela: p> est cette dernière forme possible? Puis-je convertir un bloc à une nsopération? p> thx à l'avance p> p>
3 Réponses :
Vous pouvez:
NSBlockOperation *jtOperation = [NSBlockOperation blockOperationWithBlock:^{ NSLog(@"here is something for jt"); }]; NSBlockOperation *clOperation = [NSBlockOperation blockOperationWithBlock:^{ NSLog(@"oh is this going to work"); }]; [myOQ addOperation:jtOperation]; [myOQ addOperation:clOperation];
Vous pouvez également faire
[operationQueue addOperationWithBlock:^{ // Stuff })];
let networkingOperation = NSBlockOperation(block: {
// Your code here
})
Votre solution est tentante, mais vous ne devez jamais utiliser NSBLOCKOPERATION CODE> Envelopper une fonction asynchrone i>, comme une demande de réseau. Plutôt, sous-classes correctement
nsoperation code>.
NsoperationQueue Code> est conçu pour exécuter des tâches asynchrones AKA
NSOPERATION CODE> Instances. Le
nsblockoperération code> est simplement un assistant où vous pouvez en faire une opération synchrone i>. Dans ce cas, cependant, vous seriez presque toujours mieux à utiliser les files d'attente d'expédition.
Non cela ne fonctionnera pas, mais pourquoi voulez-vous même faire cela? Qu'essayez-vous d'atteindre?
Juste apprendre avec un exemple simple: ceci a également été utile, mais lisez également les commentaires aussi Eng.pulse. Moi / Téléchargements simultanés - Utilisation-NsoperationQue