2012-03-28 8 views
3

私はObjective Cを初めて使いました。私は、あるView Controllerから別のView Controllerへのボタンを使ってSegueをやろうとしていました。最初のビューコントローラがナビゲーションビューコントローラに組み込まれているセグのプッシュタイプを使用したいと思います。以下は、最初のView Controllerの.mおよび.hファイルです。ボタンを介して1つのビューコントローラから別のビューコントローラにプッシュセグを送る方法は?

firstViewController.m

@implementation 

**(am I supposed to have an IBAction here for the pressed button?)** 

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

    if ([segue.identifier isEqualToString:@"firstSegue"]) { 

    **(I don't know what to put here)**  

    } 
} 
@end 

firstViewController.hあなたは2番目のビューにあるボタンからセグエ(CTRL +ドラッグにボタン自体を配線している場合は

@interface firstViewController : UIViewController 



@end 

答えて

5

インターフェースビルダーのコントローラー)、IBActionは必要ありません。 View ControllerがNavigation Controllerと適切に関連付けられている限り、このようにSegueを配線するだけで、最初のView Controllerから2番目のView Controllerまでプッシュアニメーションを実行するのに十分なはずです。コードを書く必要はありませんすべて。

prepareForSegue方法の目的は、など、デリゲートを設定し、ターゲット・ビュー・コントローラにデータを渡しているあなたは何の第2のビューコントローラに渡すデータ、またはそのコントローラに設定するには、何を、持っていないなら、あなたはwouldn prepareForSegueを実装する必要はありません。ストーリーボードのデグゲートなどの用語をオンラインで検索してprepareForSegueと他のストーリーボード機能を使用してビューコントローラー間のトランジションを管理するためのベストプラクティスを説明するいくつかのトラブルシューティングlike thisを見つけることができます。

+0

私があなたが提案したことをやろうとしました。そこで、firstViewControllerという名前のビューコントローラを1つ作成しました。新しいビューコントローラ(2番目のビューコントローラ)をストーリーボードにドラッグした後、UIViewControllerタイプのsecondViewControllerという名前の目的のCクラスという新しいファイルを作成しました。次に、このView Controllerのクラス名がsecondViewControllerであることを確認しました。これらのビューコントローラを設定した後、firstViewControllerからsecondViewControllerにボタンを配線しました。最後に、最初のViewControllerをクリックし、ナビゲーションビューコントローラを組み込みました。 は、コンパイラが、私はこの1行がmain.mファイルからである強調しました – Hans

+0

、まだ正常に実行された "を返しUIApplicationMain(argcの、ARGV、nilに、NSStringFromClass([DiscountWalletAppDelegateクラス]));" と一緒に ハイライトは「スレッド1:シグナルSIGABRT」というマーカーです。これはどういう意味ですか? – Hans

+0

これは私のシミュレータのボタンをクリックした後に現れました。 – Hans

関連する問題