1
我有一个NSTextField来获取路径。用户可以输入路径或在文本字段中拖动文件夹。 (我分类NSTextField启用拖放)。 每次编辑文本时,我都想做点事情。我试图链接在IB一个动作,我从NSTextFieldDelegate以编程方式编辑时的通知NSTextField
-(void)controlTextDidChange:(NSNotification *)obj
实现的委托方法,但是当用户更改文本我只得到一个通知,而不是当它以编程方式更改。
最后,我试图重新定义setStringValue
-(void)setStringValue:(NSString *)aString{
[self textDidChange:[NSNotification notificationWithName:NSControlTextDidChangeNotification object:nil]];
[super setStringValue:aString];
}
,但我得到一个错误
Ignoring exception raised in void run_cocoa_block(void *): *** -[__NSPlaceholderDictionary initWithObjects:forKeys:count:]: attempt to insert nil object from objects[0]
我想这是因为我应该把东西对象,但我不知道什么
看起来你必须包含一个对象(新字符串)的通知出于某种原因。 –
我发现了一个解决办法在我的NSTextField setstringvalue的子类发送通知:使用方法: - 的addObserver:选择:名称:对象: - postNotificationName:对象: – impact27