Comment gérer les blocks nil

Bonsoir,


 


j'ai une méthode qui prend un block



-(void)myMethoWithCompletionHandler:(void(^)(NSURL * newDocURL))completionBlock 

 comme argument.


 


Quand je passe nil comme argument, en mode debug, j'ai l'erreur EXC_BAD_ACCESS.


 


Je peux évidemment faire un test de nullité avant d'exécuter mon block, mais est-ce que je loupe quelque chose ?


 


Merci


Réponses

  • AliGatorAliGator Membre, Modérateur
    Il faut en effet toujours tester le block avant de l'appeler au cas où il peut être nil.

    (Au même titre que tu dois vérifier qu'un objet répond à  une méthode de protocole optionnelle (@optional) avant de l'appeler, via un respondsToSelector)
  • Merci !


    Je pensais pas que c'était nécessaire.


Connectez-vous ou Inscrivez-vous pour répondre.