31

私は何時間もすべてを試してきましたが、何もうまくいきませんでした. 1 つの tableViewController から別の tableViewController へ、2 つのビュー コントローラを分離しようとしています。セグエは、テーブルビューセルではなく、トップレベルのビューに接続されています。Xcode で設定された識別子は、コードで使用されているもの (コピーして貼り付けたもの) と同じです。昨夜は問題なく動作していましたが、クラッシュせずにセグエに移行できないようです。

セグエが呼び出されるメソッドは次のとおりです

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{

    self.photoList = [FlickrFetcher photosInPlace:[self.topPlacesList objectAtIndex:indexPath.row] maxResults:50];
    NSLog(@"photolist %@", self.photoList);

    NSLog(@"here");

    [self performSegueWithIdentifier:@"segue1" sender:self];
    NSLog(@"here");
}


-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([segue.identifier isEqualToString:@"segue1"])
    {
        PhotosTableViewController *photosTVC = segue.destinationViewController;
        photosTVC.photoList = self.photoList;
    }
}

ここにエラーレポートがあります

2012-08-08 15:28:39.093 Top Places[512:f803] * キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。スタック:(0x13c0052 0x1551d0a 0xde24b 0x3efd 0xa771d 0xa7952 0x92f86d 0x1394966 0x1394407 0x12f77c0 0x12f6db4 0x126cc1cc126cc1cc126877777777777777777777777777777777

ここにストーリーボードのスクリーンショットがあります http://s14.postimage.org/66wf13q4h/Screen_Shot_2012_08_08_at_3_22_10_PM.png

4

8 に答える 8

4

私は同じ問題を抱えていて、何時間も苦労しました。Stackmonster の回答で問題は解決しましたが (ストーリーボードの名前を変更)、問題が解決した理由がわかりませんでした。

ストーリーボードの項目を変更 (ラベルの追加または背景色の変更) したときに、シミュレーターに反映されないことがわかりました。xcode で表示できるストーリーボードではなく、古いバージョンのストーリーボードを使用していました。プロジェクトナビゲーターでストーリーボードの名前を変更し、info.plist(サポートファイルで)名前を変更する必要があり、ラベルが表示され、背景色が適用され、セグエが機能しました。

絵コンテの変更が反映されなかった理由はわかりませんが、見つけるのに膨大な時間がかかりました。多くの開発者が同じ問題を抱えていることをブログで見てきました。

于 2012-10-15T21:40:14.053 に答える
3

それを私が直した!1. Xcode で正しいストーリーボードが選択されていることを確認します (ストーリーボードの名前を変更する場合は、プロジェクトの概要で変更します)。次に、シミュレーターでアプリを削除して再起動します

于 2012-12-30T08:45:54.060 に答える
0

巻き戻しセグエでこの問題が発生しました。ストーリーボードのView Controllerを交換したときに、識別子を失ったことに最終的に気づきました。ドキュメント アウトライン (ストーリーボードのサイドバー) のアンワインド セグエをクリックして再度追加し、属性インスペクターでその識別子を追加しました。

セグエの巻き戻しに関しては、他に何も機能しない場合は、呼び出すことができます

[self dismissViewControllerAnimated:YES completion:nil];
于 2014-08-28T20:57:30.953 に答える
0

リストされているすべてを試しましたが、うまくいきませんでした。うまくいったのは、新しいビューへの新しいセグエを作成し、それを使用して実行し、古いビューに戻るセグエを作成することでした。

于 2013-09-19T00:33:59.900 に答える