Ilekroć utworzyć startowy, który ma delegat zgodne z protokołem piszę init jak to:startowych z protokołem delegata
- (id)initWithDelegate:(id<ProtocolToConform>)delegate;
ten sposób będę miał ostrzeżenie jeśli tworząc obiekt nie jest zgodny z protokół.
Jednak zauważyłem, że metoda tj UIAlertView
startowych wygląda następująco:
- (id)initWithTitle:(NSString *)title message:(NSString *)message delegate:(id)delegate cancelButtonTitle:(NSString *)cancelButtonTitle otherButtonTitles:(NSString *)otherButtonTitles, ...
Delegat argumentem nie precyzuje aby były zgodne z protokołem UIAlertViewDelegate
? Jakieś wskazówki, dlaczego Apple zrobił to w ten sposób?
Myślałem, że byli zbyt leniwi, aby to dodać, lub może dlatego, że wszystkie metody UIAlertViewDelegate są opcjonalne, nie ma znaczenia, czy delegat jest zgodny z protokołem czy nie. – howanghk
nie przyniosłoby to żadnych korzyści w tym przypadku, byłoby tylko dodatkowym trudem dostosowanie protokołu do twoich zajęć. – holex