本质上,这是我在 NSTextFieldCell 子类中的代码:
- (void)setStringValue:(NSString *)aString {
[super setStringValue:aString];
[self doSomething];
}
- (void)doSomething {
NSLog(@"%@", [self stringValue]);
}
本质上,我试图让我的子类通知字符串值的变化,当值发生变化时,我希望 NSCell 的子类能够使用该新值做一些事情(使用 -attributedStringValue 会更好,因为我想缓存它以供特殊绘图)。问题是,由于某种原因,调用 -(NSString *)stringValue 会导致调用 -(void)setStringValue 最终变成......
...无限循环。有人可以启发我 - 以及可能的解决方法吗?