23 - AFNetworking的文件上传与监控网络状态

2017-07-02  本文已影响23人  RadioWaves

文件上传

- (NSURLSessionDataTask *)POST:(NSString *)URLString 
          parameters:(id)parameters constructingBodyWithBlock:(void (^)(id <AFMultipartFormData> formData)){
          // 在这个block中设置需要上传的文件参数
          }success:(void (^)(NSURLSessionDataTask *task, id responseObject)){ 
          
          }failure:(void) (^)(NSURLSessionDataTask *task, NSError *error)){

          }
Snip20150926_17.png

监控联网状态

苹果官方的监控网络Reachability
而AFN这里的AFNetworkReachabilityManager是基与官方实现的.

AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];

// 要监控网络连接状态,必须要先调用单例的startMonitoring方法
[manager startMonitoring];

// AFNetworkReachabilityStatus网络的状态
[manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
    NSLog(@"%d", status);
}];

AFNetworkReachabilityStatus(网络的状态)

typedef NS_ENUM(NSInteger, AFNetworkReachabilityStatus) {
    AFNetworkReachabilityStatusUnknown          = -1, // 位置网络
    AFNetworkReachabilityStatusNotReachable     = 0,  // 无法联网
    AFNetworkReachabilityStatusReachableViaWWAN = 1,  // 手机自带网络
    AFNetworkReachabilityStatusReachableViaWiFi = 2,  // WIFI
};

苹果自带的网络监控

Snip20170218_3.png

ASI和AFN架构对比

Snip20150903_24.png

AFNetworking的GitHub地址

https://github.com/pokeb/AFNetworking/AFNetworking

上一篇下一篇

猜你喜欢

热点阅读