1

请帮忙。

我有这个tableview 如果单击一个单元格,该函数将取决于该单元格的字符串值是什么。它必须是这样的:

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (cell is equal to "Dog") 
    [show puppies]
    else if (cell is equal to "Cat")
    [show puppies]
}

谢谢。

4

3 回答 3

2

在我的头顶上:

使用默认的 UITableViewCell

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{      
        NSString *currentString = [tableView cellForRowAtIndexPath:indexPath].textLabel.text;

        if ([currentString isEqualToString:@"Dog"]){
            [show puppies]
        }else  if ([currentString isEqualToString:@"Cat"]){
            [show kittens]
        }
}
于 2013-04-25T06:33:25.490 回答
0

您可以调用相同的函数并将字符串传递给函数内部,如果您有固定的情况,请尝试使用 switch

// your method

-(void)showAnimal:(NSString*)animal
{
//here goes your conditional code
}

使用您认为会被优化的任何条件结构。

于 2013-04-25T06:33:00.483 回答
0
-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
     UITableViewCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];

    if ([cell.textLabel.text isEqualToString: @"Dog"]) 
        [self showPuppies];
    else if ([cell.textLabel.text isEqualToString: @"Cat"])
        [self showKittens];
}

-(void)showPuppies
{
  // Your code here
}

-(void)showKittens
{
  // Your code here
}
于 2013-04-25T06:36:15.903 回答