2013-02-02 9 views
6

Mam kontroler widoku z etykietą i polem tekstowym. Dodałem także widok kontenera, który wskazuje na inny kontroler widoku tabeli z jedną sekcją i trzema rzędami, w zasadzie statyczny widok tabeli. Nie mogę znaleźć żadnej dokumentacji/przykładu, który mówi, jak przekazujesz dane między kontrolerem View, trzymając kontener Container View i widok Table View osadzony w widoku kontenera. Chcę dwustronnej komunikacji?W ios 6, w jaki sposób używasz danych przebiegu pomiędzy kontrolerem View z obiektem "Widok kontenera" i wbudowanym w niego kontrolerem widoku tabeli?

Odpowiedz

0

Istnieją nowe właściwości na UIViewController -childViewControllers i -parentViewController. Możesz ich użyć.

Alternatywnie możesz sam ustanowić związek. Bądź zmęczony utrzymywaniem cykli. Być może rodzic posiada dziecko, a dziecko ma słabe odniesienie do rodzica.

8

The jest automatycznie dodany jako childViewController regulatora, w którym widok pojemnika dodaje sterownik osadzony w widoku z kontenera (w obrazie ujęć). Wystarczy, aby zrozumieć, co to znaczy, dodać tę linię, w swoim sposobie viewDidLoad sterownika bazowego:

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

Więc powiedzmy, że w VC1, dodasz widok pojemnika z wbudowanym kontrolerem VC2 (Twój tableViewController) następnie powyższe stwierdzenie rejestruje VC2 jako dziecko VC1. Aby uzyskać dostęp do VC2 z VC1, wystarczy użyć [self.childViewControllers objectAtIndex: 0], a aby uzyskać dostęp do VC1 z VC2, wystarczy użyć self.parentViewController.

Nadzieja to pomaga

0

[self.childViewControllers lastOject] lub [self.childViewControllers objectAtIndex:index];, w zależności od tego, ile dziecko VC masz.

Powiązane problemy