CoconutNetworking 1.0.2

CoconutNetworking 1.0.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布上次发布日期2017年2月

ajin 维护。



 
依赖项
AFNetworking>= 0
FMDB>= 0
 

  • 作者
  • ajin

CoconutNetworking 是一款令人愉悦的 iOS 网络工具。

Podfile

要使用 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