Наследование - UIAlertView в суперклассе и подклассе
У меня есть суперкласс, где я иногда показываю UIAlertView и обрабатывает делегирование (clickedButtonAtIndex). Когда у меня появляется подкласс, который также обрабатывает "clickedButtonAtIndex", вызывается только делегирование подкласса.
В обоих случаях UIAlertView показывается так:
[[[UIAlertView alloc] initWithTitle:@"" message:@"message" delegate:self cancelButtonTitle:@"Close" otherButtonTitles:@"Open", nil]show];
Я делаю что-то неправильно или это плохой дизайн, чтобы иметь одинаковое делегирование как в суперклассе, так и в подклассе. Я думал, что "делегат: я" разделил их.
В отладчике я вижу, что "self" ссылается на мой подкласс, хотя я нахожусь в своем суперклассе, так что это, вероятно, проблема? Какие-нибудь мысли?
1 ответ
Я был немного удивлен, что "я" ссылается на подкласс, когда вызывается в суперклассе.
Поэтому я решил создать свое собственное делегирование для UIAlertView, чтобы отличать его от делегирования подкласса. Это потому, что я не думаю: - что подклассы должны знать о моем личном UIAlertView в суперклассе и вызывать его. - Что суперкласс должен знать о моей делегации подклассов.
Не стесняйтесь добавлять свои мысли:-)