这篇文章会讲到:
1.网络状态
2.post请求
3.get请求
4.actionsheet
5.从图片库和相机上传图片
6.我遇到的一个小问题,不知道问什么
1.检测网络状态
AFNetworkReachabilityManager *mgr = [AFNetworkReachabilityManager sharedManager];
[mgr setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
NSLog(@"%ld",(long)status);
}];
[mgr startMonitoring];
2.POST请求
#pragma mark - post 请求 返回json
- (void)postJson
{
//1.创建一个操作请求的管理证
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
//请求参数
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
dict[@"username"] = @"zhangjl";
dict[@"password"] = @"zhjl";
NSString *url = @"http://localhost/01/post.php";
[mgr POST:url parameters:dict constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
NSLog(@"formdata--- %@",formData);
} success:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"请求成功-%@",responseObject[@"message"]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"请求失败--%@",error);
}];
}
3.GET请求
#pragma mark - 获得数据
- (void)getData
{
//1.创建请求对象管理
AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
//声明一下 服务器返回使用http 默认的方式返回数据,不是xml json比如下载文件
//不要对数据库返回的数据格式化
//如果是文件下载 肯定是这个
mgr.responseSerializer = [AFHTTPResponseSerializer serializer];
//2.接下来发送get请求
NSString *url = @"http://localhost/01/get.php";
NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"username"] = @"张D大调玲";
params[@"password"] = @"zhjl";
[mgr GET: url parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
//请求成功的时候调用
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];
NSLog(@"%@",dict[@"message"]);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
//请求失败时候调用
NSLog(@"请求失败");
}];
}
注意:要注意根据不同的情况不同的格式处理
mgr.responseSerializer = [AFHTTPResponseSerializer serializer];
4.UIActionsheet
//创见:
UIActionSheet *sheet = [[UIActionSheet alloc]initWithTitle:@"请选择图片" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil otherButtonTitles:@"拍照",@"相册",nil ];
self.sheet = sheet;
[sheet showInView:self.view.window];
//遵守协议 实现方法
遵守这个协议:UIActionSheetDelegate
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex
{
//index就是第几个按钮
}
5.遇到的问题
早就谢了这篇文章,但是遇到了一些问题,一直没有解决,我还是发布出去吧!希望遇到过这个错误的朋友告诉我一下!
错误描述:直接把AFN拖入到项目中,引入.h文件,使用相关方法就报错!(在别人那里创建发送给我就可以使用,自己创建就不行)
错误截图:
别人建的项目都有这里边都有很多afn的文件,我这个没有!
我尝试了什么pch很多方法,都不对,感觉这个应该是 一个很菜的错误,希望大家谁遇到过告诉我谢谢。不胜感激!!!
这个很菜错误解决了:解决在下一章文章:folder与group