Jestem nowy w rozwoju na iPhone. Prawie każdy przykładowy projekt (jak również domyślne szablony projektu) mają jednego lub więcej delegatów i kontrolerów. Czy ktoś może mi dać podział tego, za co delegaci są odpowiedzialni, a co powinni zrobić kontrolerzy?Obowiązki Delegatów i Kontrolerów w Cocoa Touch?
Odpowiedz
Najprostszy sposób można myślę, aby odróżnić dwa są:
- Delegat jest protokołem (interfejs), który definiuje metody, że obiekt implementuje w celu uzyskania szczegółowych wiadomości z innych przedmiotów. Obiekty delegatów są najczęściej używane do odbierania asynchronicznych wywołań zwrotnych, takich jak dane wejściowe użytkownika, operacje we/wy.
- Kontroler jest obiektem, który zwykle zawiera elementy interfejsu użytkownika (widoki, kierownica, itp) oraz dane, a zarówno odbiera i wysyłać wiadomości do różnych obiektów w jego obrębie. W wielu przypadkach kontroler może być delegatem i może implementować kilka delegowanych protokołów do odbierania zdarzeń z wielu obiektów.
Należy pamiętać, że wiele elementów interfejsu użytkownika i elementów sterujących pozwala przekazywać zdarzenia z powrotem do kontrolera, łącząc je z metodą IBAction w programie Interface Builder. Jest to bardzo przydatne, ponieważ nie wymaga dodatkowego kodu do wdrażania delegatów. Jednak niektóre inne interfejsy API, takie jak ABPeoplePickerNavigationController lub NSURLConnection, nie mają wizualizacji w programie Interface Builder i dlatego muszą używać delegatów do obsługi ich zdarzeń.
Delegat jest jakiś obiekt, który implementuje zestaw metod, które albo aplikacja lub ramy połączyć przeciwko zależy do funkcjonowania. Jest to środek wdrażania modelu opartego na delegacji, w którym odpowiedzialność za wykonanie działania jest przenoszona z jakiegoś źródła root na zainteresowaną stronę trzecią. Na przykład, UIApplication
ma delegowanie metod, które zapewniają stronie trzeciej możliwość wykonywania operacji w określonych momentach podczas okresu życia aplikacji. Może to być kamień milowy na osi czasu, w którym możesz przyczynić się do powstania tej historii.
Kontroler jest zupełnie inna zwierząt i jest odpowiedzialny za to, dobrze, controlling. ViewController jest ładowany z widokami zarządzania - do ładowania ich do pamięci z dysku, gdy są potrzebne i rozładowywania ich, gdy nie są. Przekształcają one treść z pewnego bazowego obiektu modelu w postać, która może być używana przez obiekty widoku, ładuje zawartość do modelu w pamięci z dysku lub z Internetu i zrzuca zawartość z powrotem na dysk podczas zapisywania i/lub zamykania.
- 1. Objective-C/Cocoa: Właściwa konstrukcja dla delegatów i kontrolerów
- 2. Cocoa-Touch - Delegacja zamieszania
- 3. Obróć UIView w Cocoa Touch
- 4. Jak zweryfikować certyfikat witryny w Cocoa Touch?
- 5. Zrozumienie wzorca projektowego MVC w Cocoa Touch
- 6. Cocoa Touch - Jak parse lokalny plik Json
- 7. Obowiązki warstw usługi i repozytorium
- 8. Czy jest więcej filmów na temat Cocoa i Cocoa Touch, które warto obejrzeć?
- 9. Gra w C++, projektowanie i obowiązki klasy
- 10. Cocoa Touch Framework nie debuguje na symulatorze w projekcie osadzania
- 11. Jakie są typowe wzorce projektowe w Cocoa Touch?
- 12. Pod obsługi w Cocoa Touch ramach - błąd dostaje Device
- 13. Czy istnieje sposób dynamicznego określania ivars klasy w czasie wykonywania w Cocoa/Cocoa Touch?
- 14. Pobierz ciąg wersji projektu Cocoa Touch Framework w Swift
- 15. Czytanie pliku .ppt (MS PowerPoint) w Cocoa Touch
- 16. Co to jest odpowiednik NSArrayController w Cocoa Touch?
- 17. Obowiązki weryfikatora kodu JVM
- 18. Jak sprawdzić, czy urządzenie Cocoa Touch może nawiązywać połączenia?
- 19. Określanie urządzenia użytkownika za pomocą iOS SDK i pełnego kodu Cocoa Touch/Objective-C
- 20. Sencha Touch i ExtJS
- 21. Standardowe delegatów w C#
- 22. Jak mogę wdrożyć wzorzec lokalizatora usług w programie Cocoa Touch w wielu projektach?
- 23. opcjonalne delegatów w C#
- 24. Jak uruchomić aplikację Touch Touch w Eclipse
- 25. Tworzenie anonimowych obiektów delegatów w Objective-C
- 26. Lokalizacja kontrolerów rails.vim i niestandardowych
- 27. Czy możesz programowo uzyskać dostęp do standardowych zlokalizowanych ciągów w Cocoa Touch?
- 28. Na Cocoa Touch/UIKit, jak wykrywać zmiany w interfejsie użytkownika z wątku tła?
- 29. WPF i touch - fokus problemu
- 30. Co to jest delegat w Cocoa i dlaczego powinienem z nich korzystać?