Beste Weg, zu überprüfen, ob Delegierte reagiert auf optional selector

Habe ich benutzt, Verpackung Versand @optional delegate-Methoden in:

if ([self.delegate respondsToSelector:@selector(method:)]) {
    [self.delegate method:obj];
}

Es funktioniert gut, aber wenn es gibt viele delegate-Methoden, es sieht aus wie das duplizieren respondToSelector: code...

Irgendwann Zeit habe ich respondsToSelector: zu trennen Methode:

//ignore warning
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"

- (void)performDelegateSelector:(SEL)selector withObject:(id)obj {

    if ([self.delegate respondsToSelector:selector]) {
        [self.delegate performSelector:selector withObject:obj];
    }
}

Als Ergebnis habe ich nur eine respondToSelector: überprüfen, aber Es immer noch nicht sehen, wie gut verbessert.

[self performDelegateSelector:@selector(method:) withObject:self];

Was denkst du? Macht es Sinn in der Verwendung von einigen Helfern oder Kategorie zu wickeln senden alle @optional delegate-Methoden, oder ist es etwas, das nicht sollte verbessert werden?

InformationsquelleAutor Injectios | 2013-09-23
Schreibe einen Kommentar