Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование iOS/iPhone
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Slava-hacker32
7 / 7 / 2
Регистрация: 16.11.2011
Сообщений: 251
1

Реальный пример MVC

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

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

Работа с кастомными UITableViewCell и MVC
Всем привет! У меня есть привычка при работе со своими кастомными ячейками...

Objective C,MVC,Singlton
Здравствуйте, товарищи программисты. Хотелось бы задать вам несколько вопросов....

MVC storyboard+ViewController
Добрый день коллеги, накипело несколько вопросов: 1. Где лучше кастомизировать...

Реальный пример запечатанного класса
может ли кто нибудь подсказать какой-то реальный пример запечатанных методов...

Реальный пример медленного освобождения памяти
Как-то в одной из первых своих тем на этом сайте писал про проблему с медленным...

5
Vorona
Peace 2 all shining faces
672 / 534 / 84
Регистрация: 05.03.2010
Сообщений: 1,283
16.10.2014, 23:52 2
Цитата Сообщение от Slava-hacker32 Посмотреть сообщение
как его (этот паттерн) можно нарушить или не соблюсти?
вы только что нарушили его во всех местах

Почитайте тут как минимум:
1. http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%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

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

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

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

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

Реальный пример, демонстрирующий необходимость использования XML.
В теории наслушался и начитался много про XML. Но на практике пока не...

CreateCaret. Кто может продемонстрировать мне реальный пример использования?
Есть WinAPI процедура CreateCaret. Я пытался опробовать ее на Memo1:...

Пример java mvc
Напишите пожалуйста пример реализации mvc на java Т.е. например есть простая...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru