3

ストーリーボードを使用しています。新しいUItableViewControllerをナビゲーションスタックにプッシュするときのセグエの使用については疑問があります。それを正しく行う方法は?セルのタップからプッシュが発生し、didSelectRowAtIndexPathを使用するだけの場合、セグエはありませんか?ご意見をお聞かせください。

4

1 に答える 1

7

あなたはそれについてまったく言及していませんが、segueあなたがストーリーボードを使用しているというあなたの言及から判断します。

ストーリーボードを使用する場合、新しいViewControllerを表示する新しい方法があります。UITableViewCellを使用して、InterfaceBuilderの新しいViewControllerに接続します。didSelectRowAtIndexPath:その場合、新しいView Controllerが自動的に表示されるため、使用する必要はありません。ただし、を準備segueし、新しいViewControllerでパラメータを設定することはできます。次に例を示します。

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // assumes only one type, more extensive checking before cast to 
    // make it safer is needed.
    MyViewController *viewController = (MyViewController *) segue.destinationViewController;

    viewController.detailObject = myModelObject;
}

セグエを使用して接続されていないテーブルビューセルの場合、プレーンオールドを使用して独自の動作を提供できますtableView:didSelectRowAtIndexPath:

正しい方法はありません。あなたにとって最も簡単と思われるものを使用してください。

于 2012-02-08T10:54:40.677 に答える