我的代码中有几个不同的类,它们使用相同的方法——导致很多重复的行——我最近发现添加类别可以有效解决问题。举一个较小的例子,我以前的方法(通常)以传统方式调用,如下所示:
if((thisNum=[self valueInTextField:ctr]) != 0)
//... do stuff here...
- (int)valueInTextField:(int)tagNum
{
NSTextField *field = [[prizeWindow contentView] viewWithTag:tagNum];
int value = [field intValue];
return value;
}
我删除了上述方法并添加了类别:
@implementation NSTextField(GetFieldValue)
- (int)valueInTextField
{
NSTextField *field = [[[self window] contentView] viewWithTag:tagNum]; // DOESN'T LIKE THIS!!
return [self intValue];
}
@end
但是,它不喜欢我要求它使用 [[self window] contentView] 查找 textField 本身,所以我可以让它工作的唯一方法是(显然)删除有问题的行并传递类似的内容:
if([[[[self window]contentView]viewWithTag:ctr] valueInTextField] != 0)
我相信您可以在这里看到我想要实现的目标。有什么方法可以让我获得一个类别来识别上面提示的必填字段 - 即无需亲自通过它?提前致谢 :-)