测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可证 | MIT |
发布上次发布日期 | 2017年2月 |
由 ajin 维护。
依赖项 | |
AFNetworking | >= 0 |
FMDB | >= 0 |
CoconutNetworking 是一款令人愉悦的 iOS 网络工具。
要使用 CocoaPods 将 CoconutNetworking 集成到您的 Xcode 项目中,请在 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'TargetName' do
pod 'CoconutNetworking', '~> 1.0.1'
end
//
// ViewController.m
// CNNetworking
//
// Created by mac on 17/1/6.
// Copyright © 2017年 Ajin. All rights reserved.
//
#import "ViewController.h"
#import "CoconutNetworking.h"
#import "ViewControllerReformer.h"
@interface ViewController () <CNAPIManagerParamSource, CNAPIManagerCallBackDelegate, CNAPIManagerValidator>
@property (nonatomic, strong) CNAPIManager *manager;
@property (nonatomic, strong) ViewControllerReformer *dataReformer;
@property (weak, nonatomic) IBOutlet UILabel *showResultLabel;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.title = @"viewDidLoad";
// [self.manager loadData];
NSLog(@"viewDidLoad");
}
- (IBAction)buttonAction:(id)sender {
self.showResultLabel.text = @"正在请求...";
[self.manager loadData];
}
#pragma mark - <CNAPIManagerParamSource, CNAPIManagerCallBackDelegate, CNAPIManagerValidator>
- (NSString *)methodNameForApi:(CNAPIManager *)manager
{
// return [CNAPIManager URLStringByAppendString:@"/v2/book/search"];
return @"https://api.douban.com/v2/book/search";
}
- (NSDictionary *)paramsForApi:(CNAPIManager *)manager
{
NSDictionary *parameters = @{@"q":@"历史",
@"count":@(100)};
return parameters;
}
- (CNAPIManagerRequestType)requestTypeForApi:(CNAPIManager *)manager
{
return CNAPIManagerRequestTypeGet;
}
- (NSTimeInterval)durationCacheForApi:(CNAPIManager *)manager
{
return 30;
}
- (BOOL)manager:(CNAPIManager *)manager isCorrectWithParamsData:(NSDictionary *)params
{
return YES;
}
- (void)managerCallAPIDidSuccess:(CNAPIManager *)manager
{
id result = [self.manager fetchDataWithReformer:nil];
NSString *string = [self.manager fetchDataWithReformer:self.dataReformer];
self.showResultLabel.text = @"请求成功!";
NSLog(@"请求成功");
}
- (void)managerCallAPIDidFailed:(CNAPIManager *)manager
{
self.showResultLabel.text = [NSString stringWithFormat:@"请求失败:%@", self.manager.errorMessage];
NSLog(@"请求失败:%@", self.manager.errorMessage);
}
#pragma mark - Getter/Setter
- (CNAPIManager *)manager
{
if (_manager==nil) {
_manager = [[CNAPIManager alloc] init];
_manager.paramSource = self;
_manager.delegate = self;
_manager.validator = self;
}
return _manager;
}
- (ViewControllerReformer *)dataReformer
{
if (_dataReformer==nil) {
_dataReformer = [[ViewControllerReformer alloc] init];
}
return _dataReformer;
}
@end