0

テーブルビューがあり、それを別のビューコントローラーにプッシュするためのセグエを作成しました。時々、このセグエは私がそれに触れることなく壊れます。私は保証することができます。入れたファイルも編集しませんでした。

私のコード:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *acell = [tableView cellForRowAtIndexPath:indexPath];
    [self performSegueWithIdentifier:@"cellWasSelected" sender:acell];
}



- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"cellWasSelected"])
    {
        if ([sender isKindOfClass:[UITableViewCell class]])
        {
            UITableViewCell *selectedCell = sender;
            ViewController *myDetViewCont = segue.destinationViewController;
            myDetViewCont.navigationItem.title = selectedCell.textLabel.text;
        }
    }
}

最初にセルをクリックした後、xcodeはこのセグエがプッシュするファイルに私を導きます。それは私をここにリダイレクトします:action:@selector(handleSingleTap:)]; 私はこれを私の画像に使用してこれをトリガーします:[self.navigationController popToRootViewControllerAnimated:YES]

スレッド1で選択した場合、メインビューで問題が発生します。

[self performSegueWithIdentifier:@"cellWasSelected" sender:acell];

しかし、私がこれを何回も使用した問題は何であり、私がそれを変更せずにクラッシュし始めます。

4

1 に答える 1

4

コードにバグはありません。問題は別の場所にあります。インターフェイスビルダーでセグエに識別子を指定していない可能性があります。このコードを試してください。それは私の側で機能しています。ファイルに問題がなければ、あなたの側でも実行する必要があります。

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

NSString* identifier = [segue identifier];

if ([identifier isEqualToString:@"cellWasSelected"]) {
    NSLog(@"Performing Seque");

    if ([sender isKindOfClass:[UITableViewCell class]]) {
        NSLog(@"correct");
        UITableViewCell *selectedCell = sender;
        UIViewController* myDetViewCont = segue.destinationViewController;
        myDetViewCont.navigationItem.title = selectedCell.textLabel.text;
    }
}

}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
   NSLog(@"%@",@"Cell Selected");
   UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
   [self performSegueWithIdentifier:@"cellWasSelected" sender:cell];
}

PSそれでも問題が解決しない場合は、ストーリーボードを初めて使用し、それらに取り組むために十分な知識が必要な場合があります。 http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1

于 2012-08-17T04:05:17.670 に答える