init mit dem delegate-Protokoll

Immer wenn ich eine init, die ein Delegat, gemäß einem Protokoll Schreibe ich die init als diese:

- (id)initWithDelegate:(id<ProtocolToConform>)delegate;

Diese Weise habe ich eine Warnung, wenn die erstellen-Objekt entspricht nicht dem Protokoll.

Jedoch bemerkte ich, dass der ie UIAlertView init-Methode sieht wie folgt aus:

- (id)initWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ...

Den Delegierten argument nicht angeben, entsprechen die UIAlertViewDelegate Protokoll? Irgendwelche Hinweise, warum hat Apple es geschafft das Weg?

  • Ich dachte, Sie waren nur zu faul, um hinzuzufügen, oder es könnte sein, weil alle das UIAlertViewDelegate-Methoden sind optional, es spielt keine Rolle, wenn der Delegat entsprechen, das Protokoll oder nicht.
  • würde es nicht geben, keine Vorteil in diesem Fall wäre es nur eine zusätzliche Schmerz-konformes Protokoll zu Ihren Klassen.
InformationsquelleAutor Peter Warbo | 2013-01-31
Schreibe einen Kommentar