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