Я пытаюсь подкласс UILabel так сеттер SetText проверить нуль, чтобы избежать этого, если поставляемый параметр является NSNULL: [NSNull isEqualToString]: непризнанные селектор направлен напримерObjective C сеттер в суперкласса вызывается вместо подкласса
Код выглядит следующим образом. Я прошел через в отладчике и он не пошел в новый сеттер, который я назвал по:
[someSubClassLabel setText:someValueWhichMayBeNull];
где someSubClassLabel является UILabelWithNULLHandler.
в .h
#import <UIKit/UIKit.h>
@interface UILabelWithNULLHandler : UILabel
- (void) setText:(NSString *) newText;
@end
Defined метод в .m:
- (void) setText:(NSString *) newText
{
if(![newText isKindOfClass:[NSNull class]])
{
super.text = newText;
}
else
{
super.text = @"";
}
}
Edit: Я полагаю, я могу добавить код для обработки ноль, но на данный момент, я я имею дело с NSNUll, который я вытащил из NSDictionary.
Вы уверены, что isKindOfClass необходимо? Почему нет: if (newText) {// Do sth ... –
И 'someSubClassLabel' является экземпляром' UILabelWithNULLHandler'? – trojanfoe
Вы уверены, что тип 'someSubClassLabel' - ваш новый' UILabelWithNULLHandler'? –