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

О написании чистого кода - Objective-C

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Objective-C Facebook api xcode 6.3 http://www.cyberforum.ru/objective-c/thread1571290.html
Делаю как все описанно в документации. Редактирую info.plist , импортирую <FBSDKCoreKit/FBSDKCoreKit.h> и <FBSDKLoginKit/FBSDKLoginKit.h>, если запустить, то все работает, а если начать прописывать...
Objective-C Парсинг JSON из локального файла Доброго времени суток! У меня есть локальный JSON файл в проекте и мне надо из него достать данные. но почему-то, когда я пытаюсь вывести эти данные в консоль у меня пишет "(null)" в консоли, вместо... http://www.cyberforum.ru/objective-c/thread1570741.html
Objective-C Системные настройки звука
Доброго времени, кто может помочь. Нужно в osx, из приложения изменить звук уведомления, может сто подсказать?
Отслеживание мыши по экрану Objective-C
Доброго дня, есть еще одно. Как можно поймать координаты мыши относительно всего экрана? Добавлено через 49 минут Решение, кому надо ;
Objective-C Программно открыть окно http://www.cyberforum.ru/objective-c/thread1563564.html
Доброго времени суток, возникла такая вот беда. Нужно программно вызвать второе окно при старте приложения. Нагуглил вот такую вещь NSStoryboard *storyBoard = ; NSWindowController...
Objective-C Unknown class in Interface Builder file Здравствуйте,столкнулся с проблемой.Создал 2 view controller при переходе через кнопку на второй у меня выскакивает Unknown class мойКлас in Interface Builder file. Сомневаюсь что дело в... подробнее

Показать сообщение отдельно
LeninRedStar
5 / 5 / 4
Регистрация: 22.11.2015
Сообщений: 21
23.11.2015, 11:28
Подход нормальный, просто нужно понимать что этого не решение всех проблем. Я так понял есть некий класс сейчас, который может выполнить запрос. В чистом виде его использовать из вьюконтроллеров очевидно не стоит. Над ним должны стоять более ориентированые на логику приложения классы, которые будут уже понимать что они получают либо посылают на сервер, сами умеют создавать наборы параметров для asyncRequest и распарсить приходящий результат.

Вью контроллер по хорошему должен иметь зависимость от некого протокола (класса, удовлетворяющего протоколу), который имеет методы, нужные именно этому контроллеру. Пример: есть логин скрин. У него должен быть член класса некий id<LoginProtocol> loginer. Этот loginer ему устанавливается извне, таким образом вьюконтроллер не знает даже какого он класса и ты всегда сможешь легко подменить один класс другим если вдруг поменялось взаимодействие с сервером. Сам протокол например имеет методы:

-(void) loginWithUser: (User * ) user
success:^(void) successBlock
error:^(NSError *error) errorBlock;

-(void) logout...


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

Далее схема может усложняться если в приложении например нужен кэш или некий оффлайн мод. Тогда уже можно вводить классы репозитории, которые в зависимости от того есть сеть или нет, будут обращаться либо к серверу либо к БД, при этом опять же скринам будет все равно куда они обратились, они свои данные в любом случае получат.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru