在本质上,这是我在NSTextFieldCell的一个子类代码:NSCell -stringValue调用-setStringValue?
- (void)setStringValue:(NSString *)aString {
[super setStringValue:aString];
[self doSomething];
}
- (void)doSomething {
NSLog(@"%@", [self stringValue]);
}
从本质上讲,我试图让我的子类通知的字符串值的变化,而当值的变化,我想NSCell的子类能够使用该新值进行操作(使用-attributedStringValue会更好,因为我想将它缓存为特殊绘图)。问题是,出于某种原因,调用 - (NSString *)stringValue以某种方式导致调用 - (void)setStringValue结果变成...
...一个无限循环。有人能够启发我 - 可能的解决方法?
你是怎么调用stringValue的?我试过你的代码,并没有得到任何循环,它似乎工作正常。 – rdelmar 2012-04-08 23:34:10
@rdelmar我正在使用stringValue的默认实现。也许我错过了代码中显而易见的东西,但我只是写了一个NSTextfieldCell的子类,它恰好位于NSTableView内(NSTextField绑定到TableCellView) – Vervious 2012-04-09 00:18:57