Спасибо за совет, Стивен.Я читал документацию по MVC и пытался ее освоить, но это очень много!
Позвольте мне объяснить некоторые части моего приложения и посмотреть, считаете ли вы, что они делают правильные вещи ...
Я создал приложение, основанное на представлении, которое начиналось с FlashCard, поэтому я бесплатно получил viewConroller (объект?) И файл .xib.Из того, что я понимаю, это заключает в себе как мой взгляд, так и мой контроллер.Итак, вот моя структура, я думаю:
Контроллер - FlashCardViewController Имеет методы действий для кнопок в моем файле .xib
Вид - .xib Имеет кнопки для запроса новой колоды карт для каждой основнойматематический оператор, а также получение новой карты из текущей колоды и поля для отображения информации моей карточки (операнды, оператор, результат)
Модель - карта Подкласс UIView.У него есть свойства для операндов и т. Д., Плюс материал, который он наследует от UIView.- Палуба Подкласс NSObject.У этого есть единственное свойство, называемое cards, которое является NSMutableArray.У него есть метод для генерации колоды карт со всеми возможными значениями операндов, основанный на операторе, полученном из заголовка кнопки.Если вы нажмете кнопку «+», то получится колода + флеш-карт.У него также есть метод выбора карты из колоды - вы передаете ей колоду, и она возвращает случайный объект карты и удаляет карту из колоды.
Все это прекрасно работает - я могу генерировать новые колодыи получить карту.Затем я заставил метод initWithFrame карты определять фрейм, и когда я получаю новую карту из текущей колоды в контроллере, я добавляю вид карты в вид контроллера.Он показывает нормально.
Мои вопросы сейчас: если я хочу переместить карту куда-нибудь еще в поле зрения, должен ли этот метод быть в контроллере?или колода?или карта?У меня есть части в нужных местах?Когда я генерирую новый объект карты (выбирая его из колоды) в контроллере с помощью метода IBAction, могу ли я получить доступ к этой карте другим методом в контроллере - будет ли он доступен?Например, если я нажму еще одну кнопку для перемещения карты по экрану ...
Спасибо, что прочитали мой многословный ответ!Любой совет по-прежнему приветствуется!