Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Slava-hacker32
7 / 7 / 0
Регистрация: 16.11.2011
Сообщений: 242
#1

Реальный пример MVC - Программирование iOS/iPhone

16.10.2014, 18:53. Просмотров 983. Ответов 5
Метки нет (Все метки)

Здравствуйте. Подскажите пожалуйста реальный пример приложения с MVC и как его (этот паттерн) можно нарушить или не соблюсти? В моем понимании сториборд это вью (viewcontroller, tableViewController), контроллеры это кнопки, picker'ы и пр. на этой вьюхе, а модель это файлики .h и .m
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2014, 18:53     Реальный пример MVC
Посмотрите здесь:

Реальный пример, демонстрирующий необходимость использования XML. C# ASP.NET
C# MVC Использование слайдера в mvc: нужен пример
Реальный пример запечатанного класса C#
Реальный пример медленного освобождения памяти VBA
Java пример java mvc
Подкиньте пример пожалуйста
PHP ООП Пример структуры сайта на MVC
Работа с кастомными UITableViewCell и MVC
MVC дайте пример C++
Objective-C MVC storyboard+ViewController
Delphi WinAPI CreateCaret. Кто может продемонстрировать мне реальный пример использования?
Objective-C Objective C,MVC,Singlton

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
666 / 528 / 44
Регистрация: 05.03.2010
Сообщений: 1,271
16.10.2014, 23:52     Реальный пример MVC #2
Цитата Сообщение от Slava-hacker32 Посмотреть сообщение
как его (этот паттерн) можно нарушить или не соблюсти?
вы только что нарушили его во всех местах

Почитайте тут как минимум:
1. http://en.wikipedia.org/wiki/Model%E...0%93controller
2. https://developer.apple.com/library/...roduction.html
3. https://developer.apple.com/library/...10810-CH14-SW1
4. http://www.raywenderlich.com/46988/ios-design-patterns

попробуйте, для начала, сами поискать ответ на свой вопрос и, если возникнут более конкретные трудности, вы зададите сюда вопрос
говорю это, потому что если бы вы это сделали, то у вас не складывалось бы такое понимание паттерна, а сам вопрос достаточно обширный и ответов на него уйма
Slava-hacker32
7 / 7 / 0
Регистрация: 16.11.2011
Сообщений: 242
17.10.2014, 11:33  [ТС]     Реальный пример MVC #3
Материалы ьл я почитал, но я все равно не могу понять что в проекте является контроллером, а что моделью. Насколько я разобрался контроллер и модель это относительные понятия. Что задачи распределяются на несколько классов, каждый класс отвечает за свою работу. Но где конкретно это используется? Например приложение где на ViewController лежит кнопка, по нажатию на которую появляется alert и как тут применить этот паттерн? Есть представление - белый фон и кнопка и есть класс ViewController (созданный по умолчанию) где обрабатывается нажатие на кнопку.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
17.10.2014, 12:11     Реальный пример MVC #4
Slava-hacker32, на viewController ничего лежать не может. На то это и контроллер, он контролирует!
Цитата Сообщение от Slava-hacker32 Посмотреть сообщение
Материалы ьл я почитал, но я все равно не могу понять что в проекте является контроллером, а что моделью.
VC вам нужен для того, чтобы обработать нажатие на кнопку.
Чтобы кнопка не говорила модели "меня нажали", а говорила это контроллеру. А дальше он решает что делать с моделью на основании еще каких-либо данных. Либо показывает еще какое-то представление.

Модель - это данные.
Отображение - это то, что вы видите.
Контроллер - это логика, того, как должно вести себя отображение на основе модели(данных).

Может так понятнее будет.
Melzas
38 / 38 / 4
Регистрация: 20.07.2011
Сообщений: 88
17.10.2014, 13:11     Реальный пример MVC #5
Цитата Сообщение от Slava-hacker32 Посмотреть сообщение
В моем понимании сториборд это вью
Вот это очень распостраненная ошибка, которая еще и подкрепляется всякими учебниками и даже яблочной документацией. Storyboard/xib сам по себе не является видом в MVC. Это просто сериализованная в xml иерархия видов, в ней нет логики, присущей видам.

Для каждого контроллера нужно создавать класс вида (наследник UIView). Именно в этом классе должны находиться все IBOutlet'ы, этот класс должен заниматься заполнением своих подвидов, и только в этом классе должны выполняться анимации, манипуляции с frame и т.д.
vitali36
7 / 7 / 2
Регистрация: 09.02.2014
Сообщений: 91
17.10.2014, 20:02     Реальный пример MVC #6
Очень простой пример:1) Есть класс студент. В нем методы: рандомная дата рождения, рандомное имя, рандомный средний бал и есть метод класса , который будет создавать рандомного студента с его параметрами и возвращать объект этого класса. 2) Есть tableViewController, который будет отображать в строках скажем имя и средний бал студента 3) Создаем класс tableViewController, во ViewDidLoad которого мы в цикле создадим необходимое кол-во студентов, скидываем их в массив. А в cellForRowAtIndexPath достаем каждого из массива по ObjectAtIndex:indexPath.row и ставим ячейкам значения,которые хотим вывести. Итак, получаем: Класс студент - модель. Класс tableViewController - контроллер. tableView занимается отображением - представление.
Yandex
Объявления
17.10.2014, 20:02     Реальный пример MVC
Ответ Создать тему
Опции темы

Текущее время: 10:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru