2

わかりましたので、私はXCodeとIOSに非常に慣れていませんが、本質的に私が持っているのはこれです:

アプリで使用される分割ビュー コントローラーを使用して、左側 (マスター ビュー コントローラー内) のアトラクションまたはロアクションに関する少量の基本情報を表示し、ユーザーにオプション/レビュー/またはその他の選択肢を表示します。詳細ビュー コントローラー。

今私がやろうとしていること:-ユーザーが詳細ビューで動的に生成されたアトラクションのテーブルからアトラクションを選択すると、詳細ビ​​ューでそれに関する詳細情報を明らかにするセグエをトリガーするだけでなく、セグエもトリガーする必要がありますマスター ビューで、アトラクションの短い紹介文に変更します。

誰も私がこれについてどうするか知っていますか? Xcode 5を使用しています

ご協力ありがとうございました

スクリーンショットはここにあります:

4

1 に答える 1

0

これには多くの方法がありますが、おそらく最善の方法は、マスター ビューでコードの一部をトリガーするカスタム プロトコル デリゲート パラダイムを実装することです。これにより、そのビューでセグエが呼び出されます。

この質問には、ナビゲーション スタックに関する同様の質問がありますが、同時実行コントローラーでも同様に機能します。

2 つのビュー コントローラー間で通信するための単純なデリゲートを設定するにはどうすればよいですか?

プロトコルに関するAppleの基本は次のとおりです。

https://developer.apple.com/library/ios/documentation/cocoa/conceptual/ProgrammingWithObjectiveC/WorkingwithProtocols/WorkingwithProtocols.html

簡単に言えば、マスター ビューでプロトコルを定義し、詳細ビューで選択したセルに応じてセグエを呼び出す 1 つのメソッドを使用して、そのメソッドを介して場所のモデルを渡すことになるでしょう。

@protocol LocationDelegate

- (void)didSelectLocation:(MyLocation *)location;

@end

アトラクションのテーブルには、作成時に設定するマスター ビューを指すデリゲート プロパティがあります。

@property (nonatomic, weak) id <LocationDelegate> *delegate;

アトラクションのテーブルでセルを選択すると、デリゲート メソッドを呼び出して魔法のように動作します。

[self.delegate didSelectLocation:location];
于 2013-10-22T15:29:15.007 に答える