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

同じ関数を呼び出して、関数内で文字列を渡すことができますケースが固定されている場合は、スイッチを使用してみてください

// 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 に答える