Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

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

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

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

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

Работа с кастомными UITableViewCell и MVC - Программирование iOS
Всем привет! У меня есть привычка при работе со своими кастомными ячейками делать так: Допустим, есть ячейка, отображающая данные...

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

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

Реальный пример запечатанного класса - C#
может ли кто нибудь подсказать какой-то реальный пример запечатанных методов или классов. Не устрайвает такой как напр: class A: B .......

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

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

5
Vorona
Peace 2 all shining faces
669 / 531 / 45
Регистрация: 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 / 0
Регистрация: 16.11.2011
Сообщений: 250
17.10.2014, 11:33  [ТС] #3
Материалы ьл я почитал, но я все равно не могу понять что в проекте является контроллером, а что моделью. Насколько я разобрался контроллер и модель это относительные понятия. Что задачи распределяются на несколько классов, каждый класс отвечает за свою работу. Но где конкретно это используется? Например приложение где на ViewController лежит кнопка, по нажатию на которую появляется alert и как тут применить этот паттерн? Есть представление - белый фон и кнопка и есть класс ViewController (созданный по умолчанию) где обрабатывается нажатие на кнопку.
0
zulkis
683 / 610 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
17.10.2014, 12:11 #4
Slava-hacker32, на viewController ничего лежать не может. На то это и контроллер, он контролирует!
Цитата Сообщение от Slava-hacker32 Посмотреть сообщение
Материалы ьл я почитал, но я все равно не могу понять что в проекте является контроллером, а что моделью.
VC вам нужен для того, чтобы обработать нажатие на кнопку.
Чтобы кнопка не говорила модели "меня нажали", а говорила это контроллеру. А дальше он решает что делать с моделью на основании еще каких-либо данных. Либо показывает еще какое-то представление.

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

Может так понятнее будет.
0
Melzas
38 / 38 / 4
Регистрация: 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
Привет! Вот еще темы с ответами:

CreateCaret. Кто может продемонстрировать мне реальный пример использования? - Delphi WinAPI
Есть WinAPI процедура CreateCaret. Я пытался опробовать ее на Memo1: CreateCaret(Memo1.Handle,0,3,13); получается чуть более жирная,...

пример java mvc - Java
Напишите пожалуйста пример реализации mvc на java Т.е. например есть простая форма с кнопкой, есть класс обработки логики и есть...

MVC дайте пример - C++
Столько прочитал книг и статей про этот шаблон,прочитал так же про другие шаблоны GoF...все понимаю,а применить не могу:confused: Все...

Пример структуры сайта на MVC - PHP ООП
Здравствуйте. У меня понятие MVC несколько "расплывчатое", хотелось бы увидеть на примере, в основном это предлагают в видеоуроках, но...


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

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

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