Как нарисовать круг, следуя архитектуре MVC - PullRequest
0 голосов
/ 28 сентября 2011

Я новичок в платформе iOS и слышал об архитектуре MVC. Чтобы нарисовать круг, я просто создаю отдельный класс UIView и переопределяю drawRect: и могу сделать это.

Но теперь я хочу перестроить тот же проект, используя архитектуру MVC. Основная цель - отделить мою часть модели от части View & Controller. Так что я могу расширить свой проект.

Так как я могу это сделать?

Любой образец заявки для справки?

Ответы [ 2 ]

1 голос
/ 28 сентября 2011

Я не уверен, что вы хотите отделить. Рисование круга обычно вписывается в часть «Вид» архитектуры MVC, что вы уже сделали. Код, который, например, изменит цвет круга, будет находиться в части «Контроллер», которая на iOS является UIViewController. Если у вас есть что-то, хранящее информацию о том, как выглядит круг (например, размер, цвет и т. Д.), Это можно считать частью модели, и его можно сохранить в своем собственном классе, вытащить контроллером представления и передать в посмотреть, когда это нужно.

Вот ссылка, которая может помочь.

http://www.bit -101.com / блог /? Р = 1969

Что касается модели, Core Data - это технология, которая может помочь.

http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CoreData/cdProgrammingGuide.html#//apple_ref/doc/uid/TP40001075

0 голосов
/ 28 сентября 2011

Разделение будет представлять собой код чертежа в drawRect, а также размер и местоположение в модели, где контроллер получает атрибуты круга из модели и запрашивает чертеж и передает атрибуты в представление. Модель может быть другим классом или классом, предоставленным API, таким как NSDictionary.

Путем создания отдельной модели, если было несколько кругов, контроллер мог сделать несколько запросов на рисование, по одному на круг модели. Или может быть несколько видов, в которых будут нарисованы окружности, или разные представления, такие как текстовый список окружностей, приписанных в одном представлении, и графических окружностей в другом.

Многие шаблоны кажутся тривиальными и не особенно полезными в тривиальном случае, но в реальной программе работают очень хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...