Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.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
Objective c Cocoa将搜索字段绑定到不同nib中的tableview_Objective C_Cocoa_Nstableview_Cocoa Bindings_Nsarraycontroller - Fatal编程技术网

Objective c Cocoa将搜索字段绑定到不同nib中的tableview

Objective c Cocoa将搜索字段绑定到不同nib中的tableview,objective-c,cocoa,nstableview,cocoa-bindings,nsarraycontroller,Objective C,Cocoa,Nstableview,Cocoa Bindings,Nsarraycontroller,我有一个看起来很像iTunes的用户界面。出于封装的目的,顶部区域和主表视图位于具有独立NIB的独立类中。我想将搜索字段从俯视图控制器绑定到俯视图控制器中的tableview。我已经安排好了,以便在两个类中都有存储NSArrayController的属性。数组控制器是一个字典数组,字典有一个“search\u keywords”键,我想用它来过滤tableview 即使在单独的nib中,也可以在Interface Builder中设置搜索内容吗?我不知道该把什么放在不同的盒子里 如果IB不可能,

我有一个看起来很像iTunes的用户界面。出于封装的目的,顶部区域和主表视图位于具有独立NIB的独立类中。我想将搜索字段从俯视图控制器绑定到俯视图控制器中的tableview。我已经安排好了,以便在两个类中都有存储NSArrayController的属性。数组控制器是一个字典数组,字典有一个“search\u keywords”键,我想用它来过滤tableview

即使在单独的nib中,也可以在Interface Builder中设置搜索内容吗?我不知道该把什么放在不同的盒子里

如果IB不可能,我假设代码中也可以,因为有一个视图控制器引用了两个子视图控制器,我可以通过这两个类的属性获取搜索字段、表视图和数组控制器对象


我如何设置它?如果可能的话,IB将是最好的。

在您的概念中,您不能以所需的方式绑定IB中的搜索字段

喜欢吗 1.在TopClass中为searchField中的文本创建访问器方法(accessorMethodForTextInSearchField或要使用的名称) 2.在MainClass中导入TopClass.h 3.在MainClass中,您可以使用 NSString*searchString=[NSString stringWithString:[TopClass accessorMethodForTextInSearchField]];
4.现在在数组中搜索searchString

我所做的是使用俯视图控制器中的NSSearchField作为虚拟/占位符。我在tableview的nib中创建了“真实”搜索字段,并按照正常方式连接所有绑定内容。然后在主视图控制器中,我从tableview的nib中获取搜索字段,并使用replaceSubview:with将虚拟搜索字段替换为真实搜索字段:


现在,我可以继续使用IB来修改绑定,而在运行时将所有内容正确地放置在视图层次结构中的nib中并不重要。

如果我将NSSearchField放置在与NSTableView相同的nib中,会怎么样,然后使用容器视图控制器将其复制到俯视图控制器中?然后有两个不同的独立NSSearchField。不,我会将搜索字段从tableview nib移动到俯视图控制器的视图中。(removeFromSuperview/addSubview)我很惊讶,我的代码本可以解决您的问题,但您没有尝试并引用否定的话。这是一种特殊的对待某人的方式,他花时间是因为他想帮助你解决你的问题。很抱歉你觉得被忽视了-我很感激你花时间回应。但是,Cocoa绑定并没有解决问题,这是问题的前两个词,这是解决问题的一种特殊方式。