1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zjszyms-ZZNetwork

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

ZZNetwork

ZZNetwork представляет собой обёртку для AFNetworking, упрощающую сетевые запросы.

Компиляция

  • Xcode 7 и выше.
  • AFNetworking 3 и выше.

Запуск проекта

После загрузки запустите проект напрямую. Обратите внимание, что в этом проекте используется не самая новая версия AFNetworking. Для рабочей среды рекомендуется обновить её до последней версии.

Лицензия

Проект ZZNetwork лицензирован по MIT. Более подробную информацию можно найти в файле LICENSE.

Использование

  1. Настройка корневого адреса сетевого запроса В файле ZZRequestConfig задайте корневой адрес, например: https://api.douban.com/.

    - (NSString *)baseUrl {
       return @"https://api.douban.com/";
    }
  2. Значения по умолчанию в ZZNetwork По умолчанию ZZNetwork использует метод Post и возвращает параметры в формате JSON.

Создание API для сетевых запросов

В файле ZZRequest.h:

@interface MovieApi : ZZRequest
- (instancetype)initWithSearchName:(NSString *)theName;
@end

В файле MovieApi.m:

@implementation MovieApi
{
    NSString *_theName;
}
- (instancetype)initWithSearchName:(NSString *)theName {
    self = [super init];
    if (self) {
        _theName = theName;
    }
    return self;
}
// Запросный адрес
- (NSString *)requestUrl {
    return @"/v2/movie/search";
}
// Параметры запроса
- (id)requestParameters {
    NSDictionary *params = [NSDictionary dictionaryWithObject:_theName forKey:@"q"];
    return params;
}

Вызов API для сетевого запроса

MovieApi *api = [[MovieApi alloc] initWithSearchName:@"刘德华"];
[api startRequestWithCompletionBlockWithSuccess:^(ZZBaseRequest *request, id responseObject) {
    NSLog(@"MovieApi请求成功 = %@",responseObject);
} failue:^(ZZBaseRequest *request, NSError *error) {
    NSLog(@"MovieApi请求失败 = %@", [error description]);
}];

Если API запроса требует кэширования возвращаемых данных, просто перепишите следующие методы:

// Время кэширования (60 секунд)
- (NSInteger)cacheTimeInSeconds {
    return 60;
}
// Кэшировать ли ответные данные
- (BOOL)shouldCacheResponse {
    return YES;
}

Можно обратиться к MusicApi в Demo.

Примечание

Если включено кэширование, то при повторном запросе в течение срока действия кэша ZZNetwork будет возвращать локальные данные без обращения к сети.

Чтобы принудительно обновить локальные данные, перед запросом установите:

// Необязательно. Этот параметр позволяет игнорировать локальный кэш и выполнять запрос напрямую
api.shouldIgnoreCache = YES;

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

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
MIT
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/zjszyms-ZZNetwork.git
git@api.gitlife.ru:oschina-mirror/zjszyms-ZZNetwork.git
oschina-mirror
zjszyms-ZZNetwork
zjszyms-ZZNetwork
master