我正在尝试子类化UILabel,因此setter setText检查null以避免这种情况,如果提供的参数是NSNULL: [NSNull isEqualToString:]:无法识别的选择器发送到实例
代码如下。我在调试器中走了进去,它没有进入我打电话给的新的setter:
[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。
答案 0 :(得分:0)
@Hot Licks是对的。我的故事板里还有一个UILabel。需要在Custom Class。下的Identity Inspector中设置新的类名。