0

以下に説明するように動作する2つのViewControllerがあります。

最初のビューコントローラは、テーブルを含むビューを表示します。テーブルには、絶えず変化するデータが含まれています。変更が発生したときにデータをリロードするためのデリゲートメソッドがあります。だからそれは世話をします。ユーザーがテーブルの行を選択すると、テキスト形式のライブデータも含む2番目のビュー(常に変更される1つのUITextView)を表示したいと思います。

ビュー2がライブデータを監視および表示している間、ユーザーがビュー1にアクセスできるようにしたいのですが、その逆も同様です。ユーザーがビュー2を表示している間、ビュー1はテーブルの内容の変更を監視および表示している必要があります。

2つのビューコントローラーが同時に存在し、それらを切り替えるようなものだと思います。

これを達成するための最も簡単または最も標準的な方法は何ですか?すべてがプログラムで行われてもかまいません。

4

2 に答える 2

0

ここで何を求めているのかを判断するのは少し難しいです。まず、ビューはデータをまったく処理してはならず、表示しているだけである必要があります。あなたが説明しているのは、2番目のビューを更新するバックグラウンドプロセスがあるようです。そのプロセスは、テーブルが画面に表示されているときに確実に実行されている可能性があり、2番目のビューに切り替えると、この実行中のプロセスを使用してプロセスを更新できます。これをどのように行うかは、実行しようとしていることの詳細によって異なります。したがって、2番目のビューを更新するプロセスの種類と、テーブル内の行の選択がそのプロセスにどのように影響するかについて、より多くのコンテキストを提供すると、より適切に役立つと思います。

編集後:

あなたは確かにあなたがしたいことをすることができます。主なことは、最初のView Controllerに、2番目のView Controllerを指すプロパティ(strongと入力)が必要であると思います。これにより、2番目のControllerにもう一度戻ると、同じプロパティに戻ります。実例。テーブルからの選択に基づいて、テキストビューにデータを入力するために必要なプロセスを開始できます。また、ビューがオフになったときにコントローラーの割り当てが解除されないため、テーブルビューに戻った後もそのプロセスを実行し続けることができます。画面(あなたが持っている強い参照のために)。ユーザーが同じ行を再度選択したかどうかを知るには、2番目のView Controllerに何らかのif句を含める必要があります。選択した場合は、新しいプロセスを開始するのではなく、更新されたテキストビューを表示するだけです。

それは、あなたからの詳細がなくても、私ができる限り具体的です。

于 2012-11-11T17:53:49.720 に答える
0

あなたが持っているのは、カスタムのparentviewcontrollerが一例としてsplitviewsを調べる必要がある問題です:: iPhoneのFacebookアプリのようなSplitView

カスタムコンテナビューコントローラを実行する方法のクールなイントロ::コンテナビューコントローラの例

于 2012-11-11T14:43:55.583 に答える