ios新知识iOS开发所用工具及库源码笔记

用对block对AFNetWorking 进行简单的封装

2015-08-23  本文已影响455人  icoder

新建类HttpTool继承NSObject
<code>@interface BAHttpTool : NSObject</code>

一、封装用AFN发送GET请求

<pre><code>
/**

实现代码

<pre><code>

}
</code></pre>

使用方法

<pre><code>
[BAHttpTool Get:@"http:xxx.xx.xx" params:nil success:^(id responseObj) {

} failure:^(NSError *error) {
    
}]

</code></pre>

二、封装用AFN发送POST请求

<pre><code>

实现代码

<pre><code>

}

</code></pre>

使用方法

<pre><code>
[BAHttpTool Post:@"http:xxx.xx.xx" params:nil success:^(id responseObj) {

} failure:^(NSError *error) {
    
}]

</code></pre>

封装AFN网络加载指示器

<pre><code>
typedef NS_ENUM(NSInteger, NetworkReachabilityStatus) {
NetworkReachabilityStatusUnknown = -1,
NetworkReachabilityStatusNotReachable = 0,
NetworkReachabilityStatusReachableViaWWAN = 1,
NetworkReachabilityStatusReachableViaWiFi = 2,
};
+(void)setReachabilityStatusChangeBlock:(void(^)(NetworkReachabilityStatus status))block;
+(void)stopMonitoring;
</code></pre>

实现代码

<pre><code>

+(void)setReachabilityStatusChangeBlock:(void(^)(NetworkReachabilityStatus status))block{

//监测网络状态
AFNetworkReachabilityManager *netMan = [AFNetworkReachabilityManager sharedManager];
[netMan setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
    switch (status) {
            
        case AFNetworkReachabilityStatusUnknown: // 未知网络
            if (block) {
                block(NetworkReachabilityStatusUnknown);
            }
            
            break;
        case AFNetworkReachabilityStatusNotReachable: // 没有网络
            if (block) {
                block(NetworkReachabilityStatusNotReachable);
            }
            break;
            
        case AFNetworkReachabilityStatusReachableViaWWAN: // 手机自带网络
            if (block) {
                block(NetworkReachabilityStatusReachableViaWWAN);
            }
            break;
            
        case AFNetworkReachabilityStatusReachableViaWiFi: // WIFI
            if (block) {
                block(NetworkReachabilityStatusReachableViaWiFi);
            }
            
            break;
    }
}];

[netMan startMonitoring];

}
</code></pre>

<pre><code>
+(void)stopMonitoring
{

AFNetworkReachabilityManager *netMan = [AFNetworkReachabilityManager sharedManager];
[netMan stopMonitoring];

}
</code></pre>

上一篇 下一篇

猜你喜欢

热点阅读