ios - 種類 - xcode 画面遷移 コード




performSegueWithIdentifierの理解 (3)

説明するよりも知識のある人がperformSegueWithIdentifier:sender:私のために? ビュー(およびクラス)を切り替え、そのビューのクラスにいくつかのNSStringとIDを渡す必要があります。 私はこれがperformSegueWithIdentifier:sender:で可能かどうか疑問に思っていましたperformSegueWithIdentifier:sender:

ありがとう!


performSegueWithIdentifier:URLセッションでデリゲートキューを設定していないために実行されませんでした。

したがって、実際にURLSessionを作成するときにデリゲートキューを設定しているかどうかを確認してください。そうでない場合、URLSessionは独自のキューを作成します。

urlSession = [NSURLSession sessionWithConfiguration:sessionConfigObject
                                           delegate:self
                                      delegateQueue:[NSOperationQueue mainQueue]];

ここでは、URLSessionの処理が何らかのUI関連アクティビティを呼び出すことがよくあるので、ここで言及します。 そしてperformSegueはメインで実行される必要があり、そうでなければ何もしません。


prepareForSegue:sender:あなたはdestinationViewControllerを設定する機会を得ます。それは、それが必要なデータを渡す場所です。 これは、 iOS向けのCocoa Application Competenciesで議論されています。


まず、あなたのストーリーボードにセグを設定して、 それに適切な識別子を付ける必要があります 。 (セグ(左のパネル)をクリックし、Attributes(右のパネル)をクリックします。

これをストーリーボードのボタンやテーブル行の選択にリンクするか、 performSegueWithIdentifier:sender:を使用してコード内で呼び出すことができます。

この後、あなたのView ControllerはprepareForSegue:sender:メッセージをprepareForSegue:sender:ます。 このメソッドは、ビューコントローラのサブクラスでオーバーライドし、次のようにターゲットビューコントローラをコンフィグレーションできます。

TargetViewController *targetVC = (TargetViewController*)segue.destinationViewController;
targetVC.string1 = string1;

その他 このメソッドのsenderは、元のメソッド呼び出しでsenderとして使用するオブジェクトになります。





segue