Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
👨‍💻

Nesterenko Dmitry chebur

💭
👨‍💻
  • Russia
View GitHub Profile
View networking.md

Ниже описана архитектура сетевого слоя, которая была разработана и усовершенствована на основании опыта многих проектов. Ее легко покрывать юнит тестами, модифицировать, конфигурировать и расширять под свои нужды.

Ответ на пост @kean Api Client

Запросы

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

Есть три протокола, которые описывают эти задачи:

  • сериализация запроса (map struct to NSURLRequest)
@chebur
chebur / gist:bfaddbb00232d3fd8ae0c6c28b9ebaf1
Last active Jan 18, 2017
UITableView cell deselection
View gist:bfaddbb00232d3fd8ae0c6c28b9ebaf1
- (void)eln_clearSelectionOnViewWillAppearForView:(__kindof UIScrollView *)view {
NSParameterAssert([view isKindOfClass:[UITableView class]] || [view isKindOfClass:[UICollectionView class]]);
if ([view isKindOfClass:[UICollectionView class]]) {
// collection view
UICollectionView *collectionView = (UICollectionView *)view;
NSArray *indexPaths = collectionView.indexPathsForSelectedItems;
// deselect