zoukankan      html  css  js  c++  java
  • ASI-ASIHTTPRequest网络请求最近体验分享

    最近一直在看ASI请求数据这一块,都快蒙了都,其实我一直都是在懵懂的。

    上个月,刚进公司,同事扔给了我一份代码,打开我懵掉了,完全看不懂,因为从来没用过ASI请求,

    之前都是用的AFN,封装好的工具类,用起来很简单。

    公司的代码一切都很好,就是请求这点儿,搞的不尽人意,可能同事也没弄过,好多请求的地方都没顾及到,

    交给我的BUG,完全都是再请求结束,或者请求开始时的判断。

    我问了好多朋友,同学,都说不曾用过,只是让我百度,goole  可是,没辙吖,找不到。

    于是,自己摸索一天,找到了解决方案,

    其实他的请求方法很简单:

    - (void)setStartedBlock:(ASIBasicBlock)aStartedBlock

    {

    [startedBlockrelease];

    startedBlock = [aStartedBlock copy];

    }

    - (void)setHeadersReceivedBlock:(ASIHeadersBlock)aReceivedBlock

    {

    [headersReceivedBlockrelease];

    headersReceivedBlock = [aReceivedBlock copy];

    }

    - (void)setCompletionBlock:(ASIBasicBlock)aCompletionBlock

    {

    [completionBlockrelease];

    completionBlock = [aCompletionBlock copy];

    }

    - (void)setFailedBlock:(ASIBasicBlock)aFailedBlock

    {

    [failureBlockrelease];

    failureBlock = [aFailedBlock copy];

    }

    - (void)setBytesReceivedBlock:(ASIProgressBlock)aBytesReceivedBlock

    {

    [bytesReceivedBlockrelease];

    bytesReceivedBlock = [aBytesReceivedBlock copy];

    }

    - (void)setBytesSentBlock:(ASIProgressBlock)aBytesSentBlock

    {

    [bytesSentBlockrelease];

    bytesSentBlock = [aBytesSentBlock copy];

    }

    - (void)setDownloadSizeIncrementedBlock:(ASISizeBlock)aDownloadSizeIncrementedBlock{

    [downloadSizeIncrementedBlockrelease];

    downloadSizeIncrementedBlock = [aDownloadSizeIncrementedBlock copy];

    }

    - (void)setUploadSizeIncrementedBlock:(ASISizeBlock)anUploadSizeIncrementedBlock

    {

    [uploadSizeIncrementedBlockrelease];

    uploadSizeIncrementedBlock = [anUploadSizeIncrementedBlock copy];

    }

    - (void)setDataReceivedBlock:(ASIDataBlock)aReceivedBlock

    {

    [dataReceivedBlockrelease];

    dataReceivedBlock = [aReceivedBlock copy];

    }

    - (void)setAuthenticationNeededBlock:(ASIBasicBlock)anAuthenticationBlock

    {

    [authenticationNeededBlockrelease];

    authenticationNeededBlock = [anAuthenticationBlock copy];

    }

    - (void)setProxyAuthenticationNeededBlock:(ASIBasicBlock)aProxyAuthenticationBlock

    {

    [proxyAuthenticationNeededBlockrelease];

    proxyAuthenticationNeededBlock = [aProxyAuthenticationBlock copy];

    }

    - (void)setRequestRedirectedBlock:(ASIBasicBlock)aRedirectBlock

    {

    [requestRedirectedBlockrelease];

    requestRedirectedBlock = [aRedirectBlock copy];

    }

    主要的就这些,我们常用的,就是:

    //开始请求

    - (void)setStartedBlock:(ASIBasicBlock)aStartedBlock

    {

    [startedBlockrelease];

    startedBlock = [aStartedBlock copy];

    }

    //请求完成

    - (void)setCompletionBlock:(ASIBasicBlock)aCompletionBlock

    {

    [completionBlockrelease];

    completionBlock = [aCompletionBlock copy];

    }

     //请求失败

    - (void)setFailedBlock:(ASIBasicBlock)aFailedBlock

    {

    [failureBlockrelease];

    failureBlock = [aFailedBlock copy];

    }

    所以,希望可以帮到大家都ASI的了解。

  • 相关阅读:
    iptables
    apt
    cvc-elt.1: Cannot find the declaration of element 'beans'.
    di
    log
    java内存模型
    spring-jms
    JTS
    10java进阶——IO2
    17单例
  • 原文地址:https://www.cnblogs.com/WLL-Hero/p/3765609.html
Copyright © 2011-2022 走看看