在Cocoa中是否有办法知道NSTextField是否脏了?如果已经编辑过?

时间:2012-06-05 12:55:43

标签: objective-c cocoa

Cocoa中有没有办法知道NSTextField是否脏了?如果已经编辑过?

我知道有委托方法:

- (void)textDidChange:(NSNotification *)notification;

但是我想知道编辑之后,如果NSTextField已被编辑,我正在关闭窗口。

2 个答案:

答案 0 :(得分:2)

在委托方法 - textDidBeginEditingtextDidChange中,您可以设置bool变量,稍后您可以检查该bool变量的值。

答案 1 :(得分:1)

如果您不想通过委托方法比较“NSTextField”对象的“之前”和“之后”值,则可以始终比较“之前”和“之后”的值“关闭或解除窗口时,NSTextField“没有的对象使用委托。

换句话说,当窗口/视图出现时,保存“NSTextField”内容的副本,然后将先前保存的内容与当前内容进行比较。然后你会看到你的差异。

由于你有95个不同的字段(哇!)并且很可能从某个地方设置这些字段,为什么不以编程方式枚举95个不同的字段并将它们与之前保存的字符串进行比较以查看它们中有多少字段发生变化?