Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.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 一个视图上的两个NSTableView_Objective C_Macos - Fatal编程技术网

Objective c 一个视图上的两个NSTableView

Objective c 一个视图上的两个NSTableView,objective-c,macos,Objective C,Macos,我想要有两个NSTableView的表单(视图)。一个NSTableView将显示库存项目的类别。当用户选择项目类别时,我希望在第二个NSTableView中显示库存项目 我有一个NSMutableDictionary,其中键是库存项目组。字典的值是包含项对象的NSMutableArray: @implementation sfAppDelegate { NSMutableDictionary *allTheData; } 要使用NSTableView,我需要实现以下方法: -(NSIn

我想要有两个NSTableView的表单(视图)。一个NSTableView将显示库存项目的类别。当用户选择项目类别时,我希望在第二个NSTableView中显示库存项目

我有一个NSMutableDictionary,其中键是库存项目组。字典的值是包含项对象的NSMutableArray:

@implementation sfAppDelegate {
   NSMutableDictionary *allTheData;
}
要使用NSTableView,我需要实现以下方法:

-(NSInteger)numberOfRowsInTableView:(NSTableView *)tv {
-(id)tableView:(NSTableView *)tv objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
-(void)tableViewSelectionIsChanging:(NSNotification *)aNotification {
由于视图上有两个NStableView,因此无法在一个类AppDelegate中实现此方法两次。因此,我在AppDelegate中为第一个NSTableView(带有项目组)实现了这些方法,并为第二个NSTableView创建了新的类ItemList。我已经使用Cmd+Drag'n'Drop将这个类设置为datasource并委托给第二个NSTableView

但是我没有创建ItemList类的实例。正如我所见,它是自动创建的,我不知道在哪里以及如何创建。但我需要有指向此实例的指针,才能将所选项目类别传递给它


我该怎么做呢?

为什么不在委托方法中添加一个分支,如下所示:

-(id)tableView:(NSTableView *)tv objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
if(tv==firstTableView) {
   //Do stuff related to the first table view
else if (tv==secondTableView) {
   //Do stuff ralated to the second table view
}

这样,您就不必使用单独的类来处理这两个TableView,而且您将在同一个文件中拥有所需的所有引用

为什么不在委托方法中添加一个分支,如下所示:

-(id)tableView:(NSTableView *)tv objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
if(tv==firstTableView) {
   //Do stuff related to the first table view
else if (tv==secondTableView) {
   //Do stuff ralated to the second table view
}

这样,您就不必使用单独的类来处理这两个TableView,而且您将在同一个文件中拥有所需的所有引用

为什么不在委托方法中添加一个分支,如下所示:

-(id)tableView:(NSTableView *)tv objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
if(tv==firstTableView) {
   //Do stuff related to the first table view
else if (tv==secondTableView) {
   //Do stuff ralated to the second table view
}

这样,您就不必使用单独的类来处理这两个TableView,而且您将在同一个文件中拥有所需的所有引用

为什么不在委托方法中添加一个分支,如下所示:

-(id)tableView:(NSTableView *)tv objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
if(tv==firstTableView) {
   //Do stuff related to the first table view
else if (tv==secondTableView) {
   //Do stuff ralated to the second table view
}

这样,您就不必使用单独的类来处理这两个TableView,而且您将在同一个文件中拥有所需的所有引用

要拥有两个独立的表视图,您需要一个包含两个子表控制器的根控制器。两个子控制器将把表选择委托给根控制器


所以,当有人单击FirstTable时,RootController将通知SecondTable并传递相关数据。这样,您可以有两个类来实现tableView委托和数据源方法。

要有两个独立的表视图,您需要一个包含两个子表控制器的根控制器。两个子控制器将把表选择委托给根控制器


所以,当有人单击FirstTable时,RootController将通知SecondTable并传递相关数据。这样,您可以有两个类来实现tableView委托和数据源方法。

要有两个独立的表视图,您需要一个包含两个子表控制器的根控制器。两个子控制器将把表选择委托给根控制器


所以,当有人单击FirstTable时,RootController将通知SecondTable并传递相关数据。这样,您可以有两个类来实现tableView委托和数据源方法。

要有两个独立的表视图,您需要一个包含两个子表控制器的根控制器。两个子控制器将把表选择委托给根控制器


所以,当有人单击FirstTable时,RootController将通知SecondTable并传递相关数据。这样,就可以有两个类实现tableView委托和数据源方法。

谢谢。这可能是一个解决办法。但我想找到更普遍的解决办法。Xcode(或框架)自动创建我正在使用的所有可视元素的实例。它会自动创建我为其创建的所有类的所有实例。我想知道,如何将参数传递给此实例。谢谢。这可能是一个解决办法。但我想找到更普遍的解决办法。Xcode(或框架)自动创建我正在使用的所有可视元素的实例。它会自动创建我为其创建的所有类的所有实例。我想知道,如何将参数传递给此实例。谢谢。这可能是一个解决办法。但我想找到更普遍的解决办法。Xcode(或框架)自动创建我正在使用的所有可视元素的实例。它会自动创建我为其创建的所有类的所有实例。我想知道,如何将参数传递给此实例。谢谢。这可能是一个解决办法。但我想找到更普遍的解决办法。Xcode(或框架)自动创建我正在使用的所有可视元素的实例。它会自动创建我为其创建的所有类的所有实例。我想知道,如何将参数传递给此实例。谢谢。我使用XCode只工作了一周。你能给我推荐一些关于根控制器的教程吗?谢谢。我使用XCode只工作了一周。你能给我推荐一些关于根控制器的教程吗?谢谢。我使用XCode只工作了一周。你能给我推荐一些关于根控制器的教程吗?谢谢。我使用XCode只工作了一周。你能给我推荐一些关于根控制器的教程吗?