Mam dwa UITableViewControllers
i muszę przekazać wartość z kontrolera widoku podrzędnego do nadrzędnego za pomocą delegata. Wiem, kim są delegaci i chciałem po prostu zobaczyć prosty przykład do naśladowania.
Dziękuję Ci
ios
objective-c
iphone
delegates
jini
źródło
źródło
Odpowiedzi:
Prosty przykład ...
Powiedzmy, że podrzędny kontroler widoku ma a
UISlider
i chcemy przekazać wartość suwaka z powrotem do rodzica za pośrednictwem delegata.W pliku nagłówkowym kontrolera widoku podrzędnego zadeklaruj typ delegata i jego metody:
ChildViewController.h
W implementacji kontrolera widoku podrzędnego wywołaj metody delegata zgodnie z wymaganiami.
ChildViewController.m
W pliku nagłówkowym kontrolera widoku nadrzędnego zadeklaruj, że implementuje on
ChildViewControllerDelegate
protokół.RootViewController.h
W implementacji kontrolera widoku nadrzędnego odpowiednio zaimplementuj metody delegata.
RootViewController.m
Mam nadzieję że to pomoże!
źródło
detailViewController.delegate = self;
(znajduje się w-tableView:didSelectRowAtIndexPath:
powyższym fragmencie kodu.Poniższy kod pokazuje tylko bardzo podstawowe użycie koncepcji delegata ... nazywasz zmienną i klasę zgodnie z wymaganiami.
Najpierw musisz zadeklarować protokół:
Nazwijmy to MyFirstControllerDelegate.h
Importuj plik MyFirstControllerDelegate.h i potwierdź swój FirstController za pomocą protokołu MyFirstControllerDelegate
W pliku implementacji należy zaimplementować obie funkcje protokołu:
w SecondController :
W pliku implementacji SecondController .
Oto artykuł wiki dotyczący delegata.
źródło
Poniższe rozwiązanie jest bardzo podstawowym i prostym podejściem do przesyłania danych z VC2 do VC1 za pomocą delegata.
PS: To rozwiązanie jest wykonane w Xcode 9.X i Swift 4
Zadeklarował protokół i utworzył delegata var w ViewControllerB
ViewControllerA potwierdza protokół i oczekuje, że otrzyma dane za pośrednictwem metody delegata sendData
źródło
Musisz użyć delegatów i protokołów. Oto witryna z przykładem http://iosdevelopertips.com/objective-c/the-basics-of-protocols-and-delegates.html
źródło