1

私はこの問題について少し理解が不足しており、助けていただければ幸いです。

プラスボタン付きのテーブルビューがあります。ユーザーにはモーダル ビューが表示され、テキスト フィールドにテキストが挿入されます。[保存] をクリックすると、それが Core Data データベースに追加され、テーブル ビューに保存されます。

それはまったく問題ありません。

私が達成したいのは、ユーザーが任意のセルをクリックできるようにし、クリックされたセルに関する詳細情報を表示する特定のエントリを念頭に置いて新しいテーブル ビューをプッシュできるようにすることです。これで、新しいView Controllerのタイトルを選択した行の情報などに設定したいと思います.

私は概念を理解しており、これを達成するのはそれほど難しくないように思えますが、これが私の最初のアプリであるため、いくつかの基本的な概念を見落としており、この概念を理解するのが難しいと感じています.

最初の質問は、didSelectRowAtIndexPath または prepareForSegue を実装するかどうかです。

NSManagedObjectContext は App Delegate から使用されているため、ビュー コントローラーのタイトルを変更しながらコア データから情報を表示できるように、選択したセルの情報を渡したいと考えています。

複数の質問とリソースを読んでも、これを達成する方法を理解するのにこれ以上近づいているようには見えません.

渡された値を「保持」するために、新しいView Controllerでプロパティを作成する必要がありますか?

私はこれで迷っているので、どんな支援も大歓迎です!

4

1 に答える 1

0

ユーザーがセルを選択すると、didSelectRowAtIndexPath メソッドが呼び出されます。このようにして、アプリはユーザーが選択しているセルを認識し、そこから、ユーザーがセルを選択した後にトリガー アクションのセルからの情報を操作できます。

メソッド prepareForSegue を使用して他のビュー コントローラーに移動するようアプリに指示すると、メソッド prepareForSegue が呼び出されます。

 [self performSegueWithIdentifier:@"YourIdentifier" sender:self]. 

prepareForSegue では、宛先の View Controller と、アプリがビューを変更する前に通過させる情報を設定します。最初の View Controller にアクセスするには、目的の View Controller にプロパティ (NSString、NSArray など) を作成する必要があることを知っておくことが重要です。

私があなたの質問を理解していれば、ユーザーが行を選択したときに [self performSegueWithIdentifier:@"YourIdentifier" sender:self] を呼び出して (didSelectRowAtIndexPath)、2 番目のビュー コントローラーに表示する情報を設定できます。

サンプルコードが必要な場合は教えてください。幸運を!

于 2013-11-14T18:52:24.310 に答える