我正在尝试继承 UILabel 以便设置器 setText 检查 null 以避免如果提供的参数是 NSNULL: [NSNull isEqualToString:]: unrecognized selector sent to instance
代码如下。我进入了一个调试器,它没有进入我调用的新设置器:
[someSubClassLabel setText:someValueWhichMayBeNull];
其中 someSubClassLabel 是 UILabelWithNULLHandler。
在.h
#import <UIKit/UIKit.h>
@interface UILabelWithNULLHandler : UILabel
- (void) setText:(NSString *) newText;
@end
在.m中定义了方法:
- (void) setText:(NSString *) newText
{
if(![newText isKindOfClass:[NSNull class]])
{
super.text = newText;
}
else
{
super.text = @"";
}
}
编辑:我想我可以添加代码来处理 nil,但目前,我正在处理从 NSDictionary 中提取的 NSNUll。