0

経由で3つScenes接続していSegueます。

SceneA> SceneB>SceneC

SceneASceneB、および呼び出しSceneBますSceneC。を経由せずにSceneCからに到達することはできません。 SceneASceneB

forにSceneAなりたい。 delegateSceneC

デリゲートSceneAとしてセットアップし、 としてセットアップする必要があると考えています。SceneBSceneBSceneC Delegate

の代理人SceneBである必要はありません。のデリゲートとしてSceneC直接セットアップできる方法はありますか?SceneASceneC

4

4 に答える 4

2

B で C を作成し、そのデリゲートを A に設定するときに、B で A を参照できます。このように。A で B を作成するときにプロパティ値を設定します。つまり、b.aObj = self; です。B で C を作成しているとき set c.delegate = aObj;

于 2013-09-26T20:01:04.963 に答える
1

私はWainに同意しますが、別のアプローチは、リッスンしSceneCているからの通知を投稿することです. SceneAこれにより、常に理想的とは限らない切断された動作が発生しますが、意図を知らずに考慮する必要があります。

于 2013-09-26T20:01:25.413 に答える
1

[NSNotificationCenter addObserver:selector:name:object:]-と - の使用を検討してください[NSNotificationCenter postNotificationName:]
デリゲートに値を返させたくない場合は、それが最善の決定です。デリゲートに値を返すようにするには、@Wain が提案するようにします。

于 2013-09-26T20:03:04.073 に答える