Objective-C délai d'action avec des blocs

Je sais qu'il existe plusieurs façons de retarder une action en Objective-C comme:

performSelector:withObject:afterDelay:

ou à l'aide de NSTimer.

Mais il ya une telle fantaisie chose que l'on appelle des blocs où vous pouvez faire quelque chose comme ceci:

[UIView animateWithDuration:1.50 delay:0 options:(UIViewAnimationOptionCurveEaseOut|UIViewAnimationOptionBeginFromCurrentState) animations:^{

    }completion:^(BOOL finished){
}];

Malheureusement, cette méthode ne s'applique qu'à animer les choses.

Comment puis-je créer un retard avec un bloc dans une méthode donc je n'ai pas à utiliser tous les @selectors et sans la nécessité de créer un nouvelle méthode? Merci!

  • Cela vous aidera ? stackoverflow.com/questions/15218861/...
  • pourquoi avez-vous peur de la création d'une méthode distincte ? cela permettra de résoudre le problème immédiatement.
  • parce que j'ai beaucoup de méthodes déjà et je voulais trouver une meilleure façon
  • je ne pas sûr que cela va fonctionner, mais vous pouvez essayer de l'appel de méthodes à l'intérieur d'achèvement:^(BOOL fini){ } bloc
  • Est votre problème, un message d'avertissement ou d'erreur que vous n'êtes pas mentionner ici?
  • le problème, c'est écrit à la fin du post
  • Ah, mon problème est simplement que j'ai mal lu votre exemple de code. 🙂 Vous découvert des choses très étranges ordre, mais c'est une bonne question. Merci pour le poster.