-1

我有三个 tableView 一个包含类别一个包含类型和其他产品名称我希望当用户选择任何类别时应该在运行时加载类型数组以获得所选类别的相同类型

在我的示例中,如果我选择类别除草剂,那么它应该插入

arrayType 中的 typeHerbicides 但是当我加载第二个表时它没有显示任何值

 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
  return 1;
  }

// 自定义表格视图中的行数。

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


   if (tableView ==tblSimpleTable ) 


    return [categoryArray count];

   else if(tableView==tblSimpleTableType)

     return [typeArray count];

   else if(tableView==tblSimpleTableProduct)

    return [productArray count];

   else if(tableView==tblSimpleTableOneSection)

    return [categorySectionOneArray count];
   else if(tableView==tblSimpleTableTypeSection)

    return [typeArraySection count];
    else 

    return  [productArraySection count];
     }

// 自定义表格视图单元格的外观。

   - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


    static NSString *CellIdentifier = @"Cell";

     UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];


     if (cell == nil) {
     cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
     }


    if (tableView ==tblSimpleTable ) {


cell.textLabel.font=[UIFont fontWithName:@"Arial" size:16];

cell.textLabel.text = [categoryArray objectAtIndex:indexPath.row];
    return cell;


   }


    else if (tableView==tblSimpleTableType){

    cell.textLabel.font=[UIFont fontWithName:@"Arial" size:16];

    cell.textLabel.text = [typeArray objectAtIndex:indexPath.row];
    return cell;

   }



   else if(tableView==tblSimpleTableProduct) {

    cell.textLabel.font=[UIFont fontWithName:@"Arial" size:16];

    cell.textLabel.text = [productArray objectAtIndex:indexPath.row];
    return cell;



   }

   else if(tableView==tblSimpleTableOneSection){

    cell.textLabel.font=[UIFont fontWithName:@"Arial" size:16];

    cell.textLabel.text = [categorySectionOneArray objectAtIndex:indexPath.row];
    return cell;


    }

    else if(tableView==tblSimpleTableTypeSection){
    cell.textLabel.font=[UIFont fontWithName:@"Arial" size:16];

    cell.textLabel.text = [typeArraySection objectAtIndex:indexPath.row];
    return cell;

   }

   else {

    cell.textLabel.font=[UIFont fontWithName:@"Arial" size:16];

    cell.textLabel.text = [productArraySection objectAtIndex:indexPath.row];
    return cell;


   }
   }

     - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

     if (tableView ==tblSimpleTable ) {


    titleCategory=[categoryArray objectAtIndex:indexPath.row];

    NSLog(@"This is titleCategory Selected %@",titleCategory);



    NSString*test=@"Herbicides";




    if([titleCategory isEqualToString:test]){

     typeHerbicides=[[NSArray alloc] initWithObjects:@"ACCLAIM EXTRA",@"ILLOXAN",@"REVOLVER",nil];

    typeArray=[[NSArray alloc] initWithArray:typeHerbicides copyItems:YES];
    }

    else {
        typeArray=[[NSArray alloc] initWithObjects:@"ILLOXAN",@"REVOLVER",nil];

        typeArray=[[NSArray alloc] initWithArray:typeHerbicides copyItems:YES];

    }

    }

    else if(tableView==tblSimpleTableType) 

    titleType=[typeArray objectAtIndex:indexPath.row];

   else if(tableView==tblSimpleTableProduct)


    titleProduct=[productArray objectAtIndex:indexPath.row];

   else if(tableView==tblSimpleTableOneSection)


    titleSectionOneCategory=[categorySectionOneArray objectAtIndex:indexPath.row];


    else if(tableView==tblSimpleTableTypeSection)


    titleTypeSection=[typeArraySection objectAtIndex:indexPath.row];
    else 


    titleProductSection=[productArraySection objectAtIndex:indexPath.row];
    }
4

2 回答 2

0

当用户选择任何类别时,您可以在 didSelectRowAtIndexPath 中根据所选类别初始化您的 typeArray:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if(tableView == tblSimpleTableType)
    {
       //initialize typeArray;

       //Once typeArray is initialized just reload the tableview as follows:
       [tblSimpleTableType reloadData];
    }
}
于 2012-08-06T09:46:28.667 回答
0

只需尝试仅在函数的最后返回单元格并查看。

于 2012-08-06T12:30:32.040 回答