Witam.
Chodzi mi o przekazywanie danych między kontrolerami Root, A, B, itd. W controlerze Root mam pare zmiennych wyświetlanych w textfield i otwarty też drugi controller A i w nim też pewne zmienne.Problem polega na tym, że klikając button w A chcę zmienić wartość danych wyświetlanych w Root ...
Po przejrzeniu części sieci... znalazłem rozwiązanie tego za pomocą delegate albo propertise... Czy ktoś może tworzył coś na podobieństwo mojego problemu i mógł by coś poradzić, doradzić, nakierować na odpowiedni tor ?
Pozdrawiam,
Biacho
Wymana danych między UIViewControllers ?
Rozpoczęty przez
Biacho
, 10 paź 2011 14:58
5 odpowiedzi w tym temacie
#1
Napisano 10 października 2011 - 14:58
#2
Napisano 10 października 2011 - 16:56
Generalnie to w konstruktorze albo przez właściwości.
Albo jeśli współdzielisz jakieś dane między obiektami to możesz w swoim AppDelegate je zaimplementować. Albo użyć singletona (dobrym przykładem jest tutaj klasa np. Settings).
Przykład z AppDelegate:
O Singletonach poczytaj, ja ich nigdy nie używałem.
Albo jeśli współdzielisz jakieś dane między obiektami to możesz w swoim AppDelegate je zaimplementować. Albo użyć singletona (dobrym przykładem jest tutaj klasa np. Settings).
Przykład z AppDelegate:
MyAppDelegate *myAppDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];i potem normalnie odwołujesz się do danych:
myAppDelegate.myProperty
O Singletonach poczytaj, ja ich nigdy nie używałem.
#3
Napisano 11 października 2011 - 07:38
Tutaj dyskutowaliśmy o podobnym problemie:
http://myapple.pl/dl...dzy-oknami.html
Ja zaproponowałem właśnie singleton (ObjectContainer razem z implementacją), inni alternatywne pomysły. Na chwilę obecną w kodzie, który jest w tamtym wątku zmieniłbym tylko słownik, z którego dane wyciąga się po kluczach na statycznie typowane referencje/wskaźniki.
Plusem obecnego rozwiązania jest niezmienność klasy ObjectContainer, ale wielkim minusem jest to, że trzeba z palca podawać Stringi z nazwami.
Gdyby zastosować referencje, to wtedy musimy zmieniać klasę jak chcemy dodać do niej coś nowego, ale za to mamy podpowiadanie składni i mniej możliwości popełnienia błędu.
Mam nadzieję, że teraz coś się już rozjaśni
http://myapple.pl/dl...dzy-oknami.html
Ja zaproponowałem właśnie singleton (ObjectContainer razem z implementacją), inni alternatywne pomysły. Na chwilę obecną w kodzie, który jest w tamtym wątku zmieniłbym tylko słownik, z którego dane wyciąga się po kluczach na statycznie typowane referencje/wskaźniki.
Plusem obecnego rozwiązania jest niezmienność klasy ObjectContainer, ale wielkim minusem jest to, że trzeba z palca podawać Stringi z nazwami.
Gdyby zastosować referencje, to wtedy musimy zmieniać klasę jak chcemy dodać do niej coś nowego, ale za to mamy podpowiadanie składni i mniej możliwości popełnienia błędu.
Mam nadzieję, że teraz coś się już rozjaśni
#4
Napisano 11 października 2011 - 16:24
Dzięki bardzo za odpowiedź Zdecydowanie rozjaśniło Dzięki wielkie jeszcze raz
#5
Napisano 11 października 2011 - 16:26
To [UIApplication sharedApplication] to też jest chyba singleton, prawda?
#6
Napisano 11 października 2011 - 21:07
Tak, jest to singleton. Pytanie jest tylko natury czysto architektonicznej: czy delegat aplikacji powinien być workiem na referencje ? Jeśli ktoś lubi mieć porządek, to raczej nie będzie wrzucał wszystkiego do tej jednej biednej klasy
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych