Je parcourt un NSArray contenant de nombreux types d'objets différents. Il existe plusieurs méthodes pour déterminer la classe de l'objet. Cependant, je n'ai pas été en mesure de trouver un bon moyen de savoir si un objet peut implémenter une fonction particulière. Je peux le mettre dans un try-catch, mais il affichera toujours un message d'erreur dans la console même si j'attrape l'erreur. Y a-t-il une meilleure manière de faire cela?Comment puis-je savoir si un objet implémente une méthode particulière?
Exemple simple:
@try {
if ([element lowercaseString]) {
//do something
}
}
@catch (id theException) {
// do something else
}
Vérifier respondsToSelector que beaucoup ont répondu En Objective-C, il n'est pas bon d'utiliser des exceptions pour contrôler le flux du programme, sauf pour les erreurs de programmation. Comme vous vérifiez si une méthode existe dans ce cas, ce n'est pas approprié. – Abizern