2013-09-07 11 views
14

Ich habe eine ViewController, die eine ContainerView enthält (die einen ViewController einrichten). Ich richte einen Übergang ein und bei preparedforsegue will ich einen Verweis auf einen viewController bekommen, der in den Container View eingebettet ist. Wie mache ich das. Ich weiß, dass wir mithilfe von segue.destinationViewController einen Verweis auf UIViewController erhalten können, aber ich möchte auch den viewController einrichten, auf den von der ContainerView verwiesen wird.Verweis auf View-Controller der Container-Ansicht

Antwort

28

Sie haben Ihre Antwort bereits. Die Containeransicht ist eine Ansicht, kein View-Controller. Es definiert nur den Frame, in den das eingebettete Segment die Inhaltsansicht des Kind-View-Controllers stellt.

Wenn das System die untergeordnete VC erstellt, ruft es die prepareForSegue-Methode auf, und zu diesem Zeitpunkt enthält segue.destinationViewController den untergeordneten Ansichtscontroller, der in der Containeransicht enthalten ist.

+0

Wann erfolgt der Aufruf zur Vorbereitung auf Segue? ist es vor der ViewdidLoad des ParentViewControllers oder nach? Ich weiß nicht, wo es im normalen Lebenszyklus ankommt. – Roadblock

+2

@Roadblock Versuchen Sie, Breakpoints in die Methoden einzufügen, und Sie sehen die Reihenfolge der Aufrufe. – Abizern

+0

@Duncan: Vielen Dank für die Hervorhebung des Konzepts :) Die Logik funktioniert gut – Roadblock