0

ストーリーボードでいくつかsegue作成しました。何らかの識別子があります。メソッド内の this のプロパティとして、いくつかのオブジェクトを構成destinationViewControllerして割り当てます。このオブジェクトは、 を呼び出したコントローラーのプロパティでもあります。i've gotでそれを押すと、other を呼び出して前のビューに戻ります。そして、私がこのviewControllerにいるとき、渡されたこのオブジェクトのプロパティはに等しいです。このようなことは可能ですか?:destinationViewControllerprepareForSegue:sender:seguedestinationViewControllerBarButtonItemseguedestinationViewControllernil

  1. 私がいるとき、私はSourceViewControllersomePropertyプロパティを設定しましたDestinationViewController
  2. DestinationViewControllerプロパティから戻ったときはnullsomePropertySourceViewControllerはありません-viewControllerを切り替える前と同じである必要があります。

それが可能だ?

ビューを切り替えるときは、同じオブジェクトsomeObjectから渡さなけれAばなりません。BsomeObjectBA

返信とヘルプありがとうございます。

4

2 に答える 2

2

別のビューに戻るときは、別のセグエを使用しないようにしてください。ナビゲーションコントローラーを使用しているかモーダルであるかにかかわらず、現在のビューを閉じることができるはずです。同じオブジェクトが必要な場合は、コントローラー B に渡すときにコントローラー A のオブジェクトへの参照を保持します。両方のコントローラーが同じオブジェクトへの参照を持つため、コントローラー B で変更を加えると、オブジェクトに表示されます。コントローラ A で自動的に参照されます。

于 2013-02-02T14:11:20.253 に答える
1

これを実際に行うべきではありません。その理由は、SourceViewControllerに戻ると、実際に新しいVCが作成され、スタックにプッシュされるため、スタックが「SourceVC、DetailVC、SourceVC」になる可能性があります。おそらく、ナビゲーションコントローラーでDetailVC([ self.navigationController dismissViewControllerAnimated:YES])をポップする必要があります。

物件も。プロパティが何であるか、さらにあるかどうかによって異なりますが、MVCパターンによれば、この変数を処理するモデルクラスを実際に作成する可能性が高くなります。次に、DetailVCにプッシュすると、モデルへの参照が渡され、DetailVCはモデルを介してその変数にアクセスでき(取得または設定)、SourceVCに戻ると、すでに必要なモデルへの参照を使用できます。新しく設定されたプロパティを取得します。

于 2013-02-02T14:21:05.037 に答える