Ich durchläuft ein NSArray, das viele verschiedene Arten von Objekten enthält. Es gibt viele Methoden, um herauszufinden, welche Klasse das Objekt ist. Ich habe jedoch keinen guten Weg gefunden, herauszufinden, ob ein Objekt eine bestimmte Funktion implementieren kann. Ich kann es in einen try-catch setzen, aber es wird immer noch eine Fehlermeldung in der Konsole ausgeben, auch wenn ich den Fehler erhalte. Gibt es einen besseren Weg, dies zu tun?Wie kann ich herausfinden, ob ein Objekt eine bestimmte Methode implementiert?
Einfaches Beispiel:
@try {
if ([element lowercaseString]) {
//do something
}
}
@catch (id theException) {
// do something else
}
prüfen respondsToSelector so viele haben antwortete. In Objective-C ist es (meiner Meinung nach und vieler anderer) nicht gut, Ausnahmen zu verwenden, um den Programmablauf zu steuern, mit Ausnahme von Programmierfehlern. Wenn Sie in diesem Fall prüfen, ob eine Methode existiert, ist sie nicht geeignet. – Abizern