Witam, może mam dość amatorskie pytanie, ale zastanawiam się jak najlepiej to rozwiązać.
Mam dwie metody (jedną długą, drugą krótką). Chcę wykonać drugą dopiero gdy wykona się pierwsza.
Najprostszy sposób to
- (void) a {
... wykonywanie
[self b];
}
- (void)b {
...wykonywanie
}
ale czy da się to zrobić jakoś inaczej?
- (void) c {
[self a];
//kiedy zakończono a
[self b];
}
Wykonywanie metody po skończeniu innej
Rozpoczęty przez
sebastiankamut
, 12 lip 2011 19:39
10 odpowiedzi w tym temacie
#1
Napisano 12 lipca 2011 - 19:39
#2
Napisano 12 lipca 2011 - 19:48
Instrukcje wykonywane są jedna za drugą. Kończy się jedna, zaczyna druga - metoda. Nie wiem jak i po co chciałbyś to inaczej zrobić.
#3
Napisano 12 lipca 2011 - 20:58
Chyba trochę nie końca tak jest.
Mam w jednej metodzie animację, w drugiej coś innego.
chcę wykonać drugą metodę po wykonaniu pierwszej (animacji) i niestety nie zawsze jest wykonywana jednej po drugiej...
#4
Napisano 12 lipca 2011 - 21:06
ogólnie to takie rzeczy robi się przez delegaty i metody w stylu animationDidStop (jeżeli chodzi o animacje)
i to jest ładna metoda na zrobienie czegoś takiego. i w tym wypadku powinna zadziałać.
#5
Napisano 13 lipca 2011 - 06:51
Hej, właśnie robiłem takie rzeczy poprzez animationDidStop, jednak w tej metodzie (animationDidStop) muszę wywoływać kolejną (np. metoda . To jest właściwe rozwiązanie?
#6
Napisano 13 lipca 2011 - 08:02
Ogólnie - tak
#7
Napisano 13 lipca 2011 - 18:54
Hej, dzięki, teraz już będę wiedział w jaki sposób rozwiązywać takie problemy.
Pojawił mi się jeszcze jeden problem i nie wiem czy dobrze do tego podchodzę...
Mam 3 viewControllery (powiedzmy A,B,C).
ViewControllerA pokazuje ViewControllerB (poprzez presentModalViewController)
ViewControllerB pokazuje po wykonaniu pewnej akcji ViewCOntrollerC
Gdy jestem w ViewControllerC chcę w pewnym momencie powrócić bezpośrednio do ViewControlleraA. Jak to zrobić?
#8
Napisano 13 lipca 2011 - 18:57
w tym wypadku powinny siedzieć pewnie w UINavigationControllerze
wtedy po prostu wrzucasz i ściągasz je ze stosu.
#9
Napisano 13 lipca 2011 - 19:12
Właśnie tak myślałem żeby to zrobić, chociaż myślę też popróbować z protokołami w ViewControllerach, żeby np. wywoływać jakieś metody bezpośrednio z innej klasy. Jak myślicie, która metoda jest lepsza?
#10
Napisano 13 lipca 2011 - 19:13
Do zarządzania widokami są view controllery
Do zarządzania kontrolerami są navigation controllery.
Tak jest wygodnie.
#11
Napisano 13 lipca 2011 - 19:16
Rozumiem, dzięki
Jednak trochę nie rozumiem.
Mam ControllerA, ControllerB, ControllerC, ControllerD
A->B->C i powrót do A robię bez problemu (popToRootView)
A->B->C->D i powrót do A (podobnie jak wyżej działa), powrót do C (popViewController) też działa
Ale jak zrobić żeby z D powrócić do B? Próbowałem to zrobić poprzez popToRootViewController, ale ciągle nie działa :/
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych