放在开头
如果你使用的是Swift,那么请转到Alamofire.
如果你使用的是OC,那么继续.
如果你还没安装CocoaPods,那么请转到CocoaPods.安装好了再回来.
接下来,就很重要了
1.cd 到工程目录
执行
pod init
-
vim Podfile
(注意,其中TargetName改成你自己的工程名字)
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'TargetName' do
pod 'AFNetworking', '~> 3.0'
end
3.执行 pod install
4.等会就好了.然后打开后缀名为 xcworkspace
5.引入头文件
#import "AFNetworking.h"
做开发比较常用的就是GET,POST,上传文件到服务器.
- 首先来段GET的代码
AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
// 设置超时时间
[session.requestSerializer willChangeValueForKey:@"timeoutInterval"];
session.requestSerializer.timeoutInterval = 10.f;
[session.requestSerializer didChangeValueForKey:@"timeoutInterval"];
session.responseSerializer = [AFHTTPResponseSerializer serializer];
[session GET:URLString parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
if (success) {
success(responseObject);
}
//你可以和我一样再封装一层,也可以直接在这里处理.
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
if (failure) {
failure(error);
}
}];
- POST 请求
AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
// 设置超时时间
[session.requestSerializer willChangeValueForKey:@"timeoutInterval"];
session.requestSerializer.timeoutInterval = 10.f;
[session.requestSerializer didChangeValueForKey:@"timeoutInterval"];
session.responseSerializer = [AFHTTPResponseSerializer serializer];
[session POST:URLString parameters:parameters progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
}];
- 上传图片到服务器
AFHTTPSessionManager *session = [AFHTTPSessionManager manager];
// 设置超时时间
[session.requestSerializer willChangeValueForKey:@"timeoutInterval"];
session.requestSerializer.timeoutInterval = 10.f;
[session.requestSerializer didChangeValueForKey:@"timeoutInterval"];
session.responseSerializer = [AFHTTPResponseSerializer serializer];
[session POST:URLString parameters:parameters constructingBodyWithBlock:^(id<AFMultipartFormData> _Nonnull formData) {
UIImage*imageObj;
//截取图片
NSData *imageData = UIImageJPEGRepresentation(imageObj, 0.5);
// 上传文件
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyyMMddHHmmss";
NSString *str = [formatter stringFromDate:[NSDate date]];
NSString *fileName = [NSString stringWithFormat:@"%@.jpg", str];
[formData appendPartWithFileData:imageData name:@"att_face" fileName:fileName mimeType:@"image/png"];
} progress:^(NSProgress * _Nonnull uploadProgress) {
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
}];
//是不是从服务器获取数据也不那么难了.
迷之微笑
希望能打消你们学习的担忧,编程也可以分简单.
最后以AFN结尾!
谢谢大家!
A | F | N |
---|---|---|
F | F | F |
N | N | N |
网友评论