2012-02-08 11 views
3

私はストーリーボードで作業しています。私は、新しいUItableViewControllerをナビゲーションスタックにプッシュする際に、セグを使用するかどうか疑問に思っています。どのようにそれを正しく行うには?プッシュがセルのタップの結果であり、didSelectRowAtIndexPathだけを使用した場合、セグはありませんか? あなたの意見をお寄せください。didSelectRowAtIndexPathとsegues

答えて

7

あなたは全く言及していませんが、segueのあなたの言葉によって判断するとストーリーボードを使用しています。

ストーリーボードを使用する場合、新しいビューコントローラーを表示する新しい方法があります。 Interface Builderの新しいView Controllerにsequeを使ってUITableViewCellを接続するこれを行うと、新しいビューコントローラが自動的に表示されるため、didSelectRowAtIndexPath:を使用する必要はありません。あなたは、昔ながらのtableView:didSelectRowAtIndexPath:を使用して、独自の動作を提供することができセグエを使用して接続されていない任意のテーブルビューセルについて

- (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; 
} 

:あなたはしかし、あなたの segueを準備し、例えば新しいビューコントローラにパラメータを設定することができます。

正しい方法はありません。あなたに一番簡単なものを使用してください。

+0

しかし、どのように選択したインデックスでオブジェクトを見つけるのですか? – cortices

+4

'[self.tableView indexPathSelectedRow]; ' –

+0

ありがとう、ありがとう。早かった! – cortices

関連する問題