根据uitableview单元格值调用函数

时间:2013-04-25 06:29:23

标签: ios xcode uitableview

请帮忙。

我有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]
}

感谢。

3 个答案:

答案 0 :(得分: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]
        }
}

答案 1 :(得分:0)

你可以调用相同的函数并将函数传递给函数try try using switch如果你有固定的情况

// your method

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

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

答案 2 :(得分: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
}