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

OSCHINA-MIRROR/zjszyms-ZZNetwork

Клонировать/Скачать
README.md 3.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 14:17 344be6c

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 )

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

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