1

テーブル ビューから別の UIViewController に移動しようとしています。新しい UIViewController で TableCell をコントロールドラッグしました。次に、次のコードを入力しました。

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


    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    // Configure the cell...
    if (cell == nil) {
        cell = [[ UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }
    if ([indexPath section] == 0) {
        Tips *tipy = [arr objectAtIndex:indexPath.row];
        cell.textLabel.text = [tipy tipdescription];
        cell.detailTextLabel.text = [tipy.tipnumber stringValue];
        NSString *imagefile = [[ NSBundle mainBundle] pathForResource:@"unlikeico" ofType:@"png"];
        UIImage *image = [[UIImage alloc] initWithContentsOfFile:imagefile];
        [[cell imageView]setImage:image];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
            } else {
                Tips *tipy = [arr2 objectAtIndex:indexPath.row];
                cell.textLabel.text = [tipy tipdescription];
                cell.detailTextLabel.text = [tipy.tipnumber stringValue];
                NSString *imagefile = [[ NSBundle mainBundle] pathForResource:@"likeico" ofType:@"png"];
                UIImage *image = [[UIImage alloc] initWithContentsOfFile:imagefile];
                [[cell imageView]setImage:image];
                cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
                    }

    return cell;
}


- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if ([segue.identifier isEqualToString:@"showtext"]) {

        DisplayViewController *dvc = [segue destinationViewController];
        NSIndexPath *path = [self.tableView indexPathForSelectedRow];
        Tips *tipy = [arr2 objectAtIndex:[path row]];  
        [dvc setCurrenttext:tipy];
    }

}

テーブルはデータを表示しますが、新しい UIViewController には移動しません。Xcode は警告やエラーを表示しません。ここで何が問題なのですか?

4

1 に答える 1

1

prepareForSegueメソッドは呼び出されていません。それを呼び出すには、次のメソッドが必要です。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self performSegueWithIdentifier:@"showtext" sender:self];
}
于 2012-07-22T17:10:08.773 に答える