Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.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
Ios 如何在UITableView中创建数组数组_Ios_Ios5_Uitableview - Fatal编程技术网

Ios 如何在UITableView中创建数组数组

Ios 如何在UITableView中创建数组数组,ios,ios5,uitableview,Ios,Ios5,Uitableview,我有两个TableViewController,我的第一个tableView包含一个名为文件夹的项目列表,单击该列表,我将打开另一个名为ItemsInfolder的tableView,并显示它们是否存在,否则它将为空 因此,我知道ItemsInFolder视图应该是一个数组数组,每个数组都位于索引位置(行位置),但我不知道如何做到这一点,以及如何在单击每个文件夹时调用位于每个索引处的数组 根据以下评论更新 //FolderTableView - (void)tableView:(UITableV

我有两个TableViewController,我的第一个tableView包含一个名为文件夹的项目列表,单击该列表,我将打开另一个名为ItemsInfolder的tableView,并显示它们是否存在,否则它将为空

因此,我知道ItemsInFolder视图应该是一个数组数组,每个数组都位于索引位置(行位置),但我不知道如何做到这一点,以及如何在单击每个文件夹时调用位于每个索引处的数组

根据以下评论更新

//FolderTableView
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{    
   ItemsTableViewController *selectedFolder = [[ItemsTableViewController alloc] initWithNibName:@"ItemsTableViewController" bundle:nil];    


    selectedFolder.selectedfolder = [indexPath row];
    [self.navigationController pushViewController:selectedFolder animated:YES];


}

//ItemsTableView

-(void)xyz operation
{

[m_ItemArray addObject:item];
[appDelegate.2dArray addObject: m_ItemArray];
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{

    // Return the number of rows in the section.
    return  [[appDelegate.2dArray objectAtIndex:m_selectedfolder]count];(selected folder index coming from, folderTable)
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSMutableArray *testArray = [appDelegate.2dArray objectAtIndex:[indexPath row]];
    tableCell.items.text = [testArray objectAtIndex:[indexPath row]];       

    return tableCell;
}
朋友们,请帮帮我

问候
Ranjit被认为是一个
arrayOfFolders
全局的、初始化的、满是包含文件的数组的文件,遵循以下层次结构:

arrayOfFolders :
{
   [0]            //Folder 0 (NSArray)
   {
      file1
      file2
      file3
   }
   [1]            //Folder 1 (NSArray)
   {
      file4
      file5
   }
}
单击tableView中的文件夹时,按如下方式获取子数组:

-(void)didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    //To retrieve your array within your array at the seleted index
    NSArray * arrayOfItemsInFolder = [[NSArray alloc] initWithArray:[self.arrayOfFolders objectAtIndexPath:indexPath.row] copyItems:YES];
    //Do your stuff
}

这对您来说合适吗?

您是否已经创建了要使用的阵列阵列?您好@A-Live谢谢您的回复,我对此感到困惑。你能帮我吗?你可以像任何其他对象一样将数组添加到另一个数组中,如果你想使用
addObject
,请确保初始化
NSMutableArray
,因为你只能在初始化时设置
NSArray
项(如果有可能将所有数据集中在一起,你可以这样做)你的意思是,NSMutableArray*mainArray;NSMUTABLEARRY*itemsArray;,现在你说,首先我必须将ITME添加到itemsArray中,然后将此itemArray添加到mainArray中,对吗?这是正确的,您可以通过两种方式来完成a)准备子数组并将其添加到主数组b)准备主数组添加必要数量的空子数组,逐个获取它们并填充项目。把数组想象成一个普通对象,你可以随时将它添加到另一个数组中,你可以随时从holder数组中调用它的方法。Hi@Big00d没有理解你,因为我的arrayofFolders是1D数组,arrayofItems是2D数组。@Ranjit您在
arrayofFolders
arrayofItems
中有用于将它们绑定到项目的名称吗?如果是这样,只需将上面代码段中的
arrayofItems
替换为
arrayofItems
。在我的示例中,您的arrayofolder就是要嵌套arrayofItems。我将编辑我的答案以显示结构Hey@Big00d,我正在didselectrow中使用您的代码,但是现在发生的事情是,文件夹1中的项目只显示在所有文件夹中folders@Ranjit如果在单独的节中显示文件夹,则需要在
didSelectRowAtIndexPath.section
处使用
indexath.section
,因为行始终是
1
,节号将显示数组中的文件夹索引。