2013-02-02 2 views
6

Ich habe einen View-Controller mit einem Label und Textfeld. Ich fügte auch eine Containeransicht hinzu, die auf einen anderen Tabellenansicht-Controller mit einem Abschnitt und drei Zeilen zeigt, im Wesentlichen statische Tabellenansicht. Ich bin nicht in der Lage, eine Dokumentation/ein Beispiel zu finden, in der Sie erfahren, wie Sie Daten zwischen dem View-Controller übergeben, der den in der Containeransicht eingebetteten Container-View- und Table-View-Container enthält. Ich möchte beidseitige Kommunikation?In ios 6, wie verwenden Sie Passdaten zwischen dem View-Controller, der das 'Container View'-Objekt enthält, und dem darin eingebetteten Table View-Controller?

Antwort

0

Es gibt neue Eigenschaften für UIViewController -childViewControllers und -parentViewController. Du könntest diese benutzen.

Alternativ können Sie selbst eine Beziehung einrichten. Seien Sie müde von Retain-Zyklen. Vielleicht besitzt der Elternteil das Kind und das Kind hat einen schwachen Bezug zum Elternteil.

8

die Steuerung im Behälter Ansicht (in der Storyboard) eingebettet ist, wird automatisch als childViewController der Steuerung hinzugefügt, in dem der Behälter Ansicht hinzugefügt wird. Nur um einen Sinn, was ich meine, fügen Sie diese Zeile, in Ihrer viewDidLoad Methode des Basisreglers:

NSLog(@"children : %@", self.childViewControllers); 

kann also sagen, in VC1, eine Container-Ansicht mit einem eingebetteten Controller VC2 (Ihre Tableviewcontroller) hinzufügen, Dann wird die obige Anweisung VC2 als Kind von VC1 protokollieren. Um von VC1 auf VC2 zuzugreifen, verwenden Sie einfach [self.childViewControllers objectAtIndex: 0], und um von VC2 auf VC1 zuzugreifen, verwenden Sie einfach self.parentViewController.

this helps

0

[self.childViewControllers lastOject] oder [self.childViewControllers objectAtIndex:index];, je nachdem, wie viele Kind VCs Sie haben.