Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos NSTextView,使用NSSearchField和NSTextField时它来自何处_Macos_Cocoa_Nstextfield_Nstextview_Nssearchfield - Fatal编程技术网

Macos NSTextView,使用NSSearchField和NSTextField时它来自何处

Macos NSTextView,使用NSSearchField和NSTextField时它来自何处,macos,cocoa,nstextfield,nstextview,nssearchfield,Macos,Cocoa,Nstextfield,Nstextview,Nssearchfield,NSTextView来自哪里 在我的OSX应用程序中,我有一个NSSearchField,我实现了controlTextDidChange:,它包含在keyNSFieldEditoraNSTextView实例中 - (void)controlTextDidChange:(NSNotification *)note { NSTextView * searchField = note.userInfo[@"NSFieldEditor"]; ... } 问的时候也一样 id fir

NSTextView来自哪里

在我的OSX应用程序中,我有一个NSSearchField,我实现了
controlTextDidChange:
,它包含在key
NSFieldEditor
a
NSTextView
实例中

- (void)controlTextDidChange:(NSNotification *)note {

    NSTextView * searchField = note.userInfo[@"NSFieldEditor"];
    ...
}
问的时候也一样

id firstResponder = [self.window firstResponder];
我得到一个
NSTextView

但它是从哪里来的因为
NSSearchField
NSTextField
不是从NSTextView派生的。。。也不是它的细胞。。。此外,我在NSSearchField中找不到它的属性

我肯定在使用NSSearchField

另外,当将操作出口连接到
NSSearchField
时,发送方是
NSSearchField
(这是正常的)


这是什么乱七八糟的,为什么我会得到
NSSearchField
vs
NSTextView
以及如何从
NSTextView
访问
NSSearchField
,反之亦然

Cocoa维护一个名为“字段编辑器”的共享NSTextView。这里更详细地描述了它:


Aderstedt对字段编辑器的看法是正确的。您需要知道的另一件事是,在
controltextdichange:
方法中,
note.object
将是发送通知的控件

- (IBAction)searchFieldCommit:(NSSearchField *)sender {
   //...
}