Odpowiedz na ten temat
Pokaż wyniki od 1 do 6 z 6
  1. Avatar Biacho
    Dołączył
    Dec 2009
    Skąd
    Wrocław
    Postów
    32

    Cytuj | #1

    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
    Komputer: MacBook Pro 13" 2.4 GHz
    Telefon: HTC Desire Z
    Odtwarzacz: iPod Shuffle 3G


  2. Avatar macieks72

    Dołączył
    Aug 2009
    Postów
    9,327

    Cytuj | #2

    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:
    Kod:
    MyAppDelegate *myAppDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
    i potem normalnie odwołujesz się do danych:

    Kod:
    myAppDelegate.myProperty
    O Singletonach poczytaj, ja ich nigdy nie używałem.
    Ostatnio edytowane przez macieks72 ; 10.10.2011 o 16:59
    Komputer: Macbook Pro wykąpany w pepsi, teraz Acer Aspire 5750G
    Telefon: iPhone 4 - iOS 5.1.1
    Ludzie, używajcie alta. No chyba że wam obojętne, czy robicie komuś 'łaskę', czy 'laske'.

  3. Avatar kamil.burczyk
    Dołączył
    Jan 2011
    Skąd
    Kraków
    Postów
    46

    Cytuj | #3

    Tutaj dyskutowaliśmy o podobnym problemie:
    Tap Bar i przekazywanie parametrow pomiedzy oknami

    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
    Komputer: MacBook Pro 15" Late 2007
    Telefon: iPhone 4

  4. Avatar Biacho
    Dołączył
    Dec 2009
    Skąd
    Wrocław
    Postów
    32

    Cytuj | #4

    Dzięki bardzo za odpowiedź Zdecydowanie rozjaśniło Dzięki wielkie jeszcze raz
    Komputer: MacBook Pro 13" 2.4 GHz
    Telefon: HTC Desire Z
    Odtwarzacz: iPod Shuffle 3G

  5. Avatar macieks72

    Dołączył
    Aug 2009
    Postów
    9,327

    Cytuj | #5

    To [UIApplication sharedApplication] to też jest chyba singleton, prawda?
    Komputer: Macbook Pro wykąpany w pepsi, teraz Acer Aspire 5750G
    Telefon: iPhone 4 - iOS 5.1.1
    Ludzie, używajcie alta. No chyba że wam obojętne, czy robicie komuś 'łaskę', czy 'laske'.

  6. Avatar kamil.burczyk
    Dołączył
    Jan 2011
    Skąd
    Kraków
    Postów
    46

    Cytuj | #6

    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
    Komputer: MacBook Pro 15" Late 2007
    Telefon: iPhone 4

Odpowiedz na ten temat