AFN的基本使用

这篇文章会讲到:
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 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的基本使用_第1张图片
Snip20150623_2.png

别人建的项目都有这里边都有很多afn的文件,我这个没有!

AFN的基本使用_第2张图片
Snip20150623_4.png

AFN的基本使用_第3张图片
Snip20150623_1.png

我尝试了什么pch很多方法,都不对,感觉这个应该是 一个很菜的错误,希望大家谁遇到过告诉我谢谢。不胜感激!!!

这个很菜错误解决了:解决在下一章文章:folder与group

你可能感兴趣的:(AFN的基本使用)