0

2つのtableViewControllerがあります。最初のtableViewには、フォルダーと呼ばれるアイテムのリストが含まれています。クリックすると、ItemsInfolderと呼ばれる別のtableViewが開き、存在するかどうかが表示されます。

したがって、これについては、ItemsInFolder Viewが配列の配列であり、各配列がインデックス位置(行位置)にある必要があることを知っていますが、それを行う方法、各フォルダーをクリックしたときに各インデックスに存在する配列を呼び出す方法について混乱しています。 。

以下のコメントに従って更新

//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;
}

だから友達、助けてください。

よろしくランジット

4

1 に答える 1

0

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
}

これは正しいと思いますか?

于 2012-08-14T08:22:47.547 に答える