Swift: Delegat
uczenie się o delegacie czasami może być trudne. Wiem to, bo tam byłem! Oto kilka notatek, które zrobiłem, gdy dowiedziałem się o delegacie, mam nadzieję, że może to również pomóc tym, którzy zmagają się z tym tematem.
Czym więc jest delegat i jak działa?
Okej, zanim przejdziemy do delegowania, najpierw musimy zrozumieć, czym jest wzorzec delegowania.
Delegacja to wzorzec projektowy, który umożliwia nam przekazanie/delegowanie niektórych obowiązków „klasy” instancji innej klasy.
Teraz spróbujmy wyobrazić sobie delegację w prawdziwym świecie, wyobraź sobie, że jesteś szefem kuchni w pizzerii i pewnego dnia masz to duże wydarzenie, podczas którego musisz zrobić 100 pizz w bardzo krótkim czasie i dlatego chcesz delegować /przekaż część swojej pracy innym szefom kuchni. Powiedzmy, że delegujesz/przekazujesz mi „robienie ciasta na pizzę”, więc po tym, jak skończę robić ciasto na pizzę, daję ci ciasto na pizzę, abyś mógł zrobić pizzę.
Zauważysz tam wzór? Delegowanie w realnym świecie oznacza przekazywanie/delegowanie zadań innym osobom. W programowaniu Swift jest również to samo, jedna klasa może delegować część swoich zadań innej klasie.
Można to zobaczyć, gdy używamy TableView w ViewController, gdzie zwykle dostosowujemy kontroler widoku do protokołu UITableViewDelegate.
Teraz wiesz, czym jest Delegat w Swift.
Innym pytaniem, które często pojawiało się wokół tematu delegowania, jest użycie self.
Weź przykład tego kodu tutaj
Tutaj przypisujemy delegata TableView do bieżącego kontrolera widoku. Dlaczego więc musimy to robić i co to ma robić? Teraz, gdy dołączyliśmy ViewController do protokołu UITableViewDelegate, możemy uzyskać dostęp do delegata. A kiedy deklarujemy delegata samemu, czyli kontrolerowi widoku, mówimy, że teraz kontroler widoku przejmie wszystkie obowiązki UITableViewDelegate.
I to już koniec tego artykułu! Dziękuję za przeczytanie i życzę miłego dnia :)

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































