Zrozumienie wzorca MVC używanego w aplikacjach iOS

Przeczytałem artykuł Apple MVC i jestem zdezorientowany w różnych sprawach. Po pierwsze Apple używa kombinacji widoku i kontrolera w prawie wszystkich swoich przykładowych aplikacjach, co jest w porządku i lubię to, ale zaprzeczają sobie w tym artykule, ponieważ powiedzieli, że widok nie powinien polegać na kontrolerach itp.

Moje główne pytanie brzmi, czy ktoś ma link do jednego z przykładowych projektów Apple iOS, który jest dobrym przykładem wzorca MVC - z odzyskiwaniem danych itp bo nie do końca rozumiem modelową część wzoru.

Nie rozumiem różnicy między 'obiektem domenowym' a obiektem modelowym. Na przykład, gdybym chciał pobrać listę zamówień, to zdarzyło by się to w model class Orders. Czy mam wtedy inny Order klasy, który ma właściwości takie jak OrderDate, OrderNumber itp., Czy jak to będzie działać?

Author: paulbailey, 2011-04-15

5 answers

Ten przykładowy kod pokazuje wieloetapowe podejście do ładowania i wyświetlania widoku UITableView. Myślę, że to naprawdę interesujące nurkować. Pokaże MVC w pracach.

 11
Author: Pierre Watelet,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-04-15 11:32:03

Model-View-Controller (znany również jako MVC) mapuje wzorce do głównych części aplikacji:

Model → DANE

Widok → Interfejs Użytkownika

Controller → Core Logic

To wyjaśnij w pełni za pomocą przykładowego kodu

Http://www.hollance.com/2011/04/making-your-classes-talk-to-each-other-part-1/

Tutaj wpisz opis obrazka

 6
Author: codercat,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-05 13:28:26

Wierzę, że poniższy kod pomoże Ci zrozumieć, jak pracować z MVC w aplikacji iOS, ponieważ jego opis mówi:

"MVCNetworking to przykład, który pokazuje jak stworzyć sieć aplikacja wykorzystująca wzorzec projektowy Model-Widok-Kontroler . W szczególności wyświetla galerię zdjęć, pobierając XML galerii opis, miniaturki i zdjęcia z serwera www, oraz wykorzystuje rdzeń Dane do buforowania tych informacji lokalnie."

Http://developer.apple.com/library/ios/#samplecode/MVCNetworking/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010443

 5
Author: itsaboutcode,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-05 19:26:55
  • Model jest mózgiem aplikacji. Robi obliczenia i tworzy dla siebie wirtualny świat, który może żyć bez widoków i kontrolerów. Innymi słowy, pomyśl o modelu jako wirtualna Kopia Twojej aplikacji, bez twarzy!

  • Widok to okno, przez które użytkownicy wchodzą w interakcję z Twoim podanie. Wyświetla to, co jest wewnątrz modelu przez większość czasu, ale oprócz tego akceptuje interakcje użytkowników. Dowolne interakcja między Użytkownikiem a Twoją aplikacją jest wysyłana do widoku, które następnie mogą być przechwycone przez kontroler widoku i wysłane do model.

  • Kontrolery w programowaniu iOS zwykle odnoszą się do kontrolerów widoku. Pomyśl o kontrolerach widoku jako o pomoście między modelem a Twoim widoki. Interpretują to, co dzieje się z jednej strony (co użytkownik czy po stronie widokowej, lub informacje dostarczone przez modelkę) i wykorzystaj te informacje, aby zmienić drugą stronę jako potrzebne.

 5
Author: Naman Vaishnav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-30 09:35:09

Jest to zdecydowanie najlepsze, ale proste wyjaśnienie, na jakie natknąłem się (zaczerpnięte z RayWenderlich)

"ideą MVC jest to, że
- Poglądy powinny dbać tylko o to, jak są prezentowane, jak są prezentowane,
- Modele powinny dbać tylko o swoje dane,
- a kontrolerzy powinni pracować, aby poślubić te dwa, niekoniecznie wiedząc zbyt wiele o ich wewnętrznej strukturze."

 3
Author: Prabhav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-21 10:30:57