0

我正在尝试继承 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。

4

1 回答 1

0

@Hot Licks 是对的。我的故事板中仍然有一个 UILabel。需要在自定义类下的身份检查器中设置新的类名。

于 2013-02-26T12:02:40.383 回答