百思学习笔记12-网络请求到推荐关注

来源:互联网 发布:域名需要几天 编辑:程序博客网 时间:2024/06/07 12:15

接下来我们做推荐关注的界面:



从上面的图片可以有很多的数据,这些数据都是从服务器请求到的

既然要网络请求我们就要添加网络的第三方框架到项目当中

首先

我强烈推荐一款插件,是用来下载Xcode中插件的,叫做Alcatraz,目的是可以快速的下载需要的插件。

教程地址:点击打开链接

然后通过Alcatraz来下载CocoaPods这个插件,就可以在Xcode中随意下载各种三方框架了

下面我来介绍CocoaPods的使用

1.点击修改podfile文件



2.修改PodFile文件--此时我们需要AFNetworking、SDWebImage、SVProgressHUD这三个框架

platform :ios, "9.0"pod "AFNetworking"pod "SDWebImage"pod "SVProgressHUD"

然后点击Install pods ,如果没有问题就开始下载了

以后每次打开项目开启.xcworkspace文件



这时三方的框架就已经存在我们的项目当中了,我们可以随时调用它们的头文件了


准备工作做好了之后,我们开始继续开发“推荐关注这个模块”

首先新建一个继承UIViewController的类,选上xib


 

首先先把需要的三方头文件加上

#import <AFNetworking.h>#import <SVProgressHUD.h>


在设置导航栏的名称和背景颜色

self.title = @"推荐关注";self.view.backgroundColor = YYGlobalBg;<div></div>
YYGlobalBG是在PCH定义的:

#define YYGlobalBg YYRGBColor(229, 229, 229)

然后设置加载进度动画

 // 显示指示器    [SVProgressHUD showWithMaskType:SVProgressHUDMaskTypeBlack];

下面开始涉及网络请求:

1.先定义一个可变的字典

 NSMutableDictionary *params = [NSMutableDictionary dictionary];

2.然后往字典里面放入要传的参数(这两段参数是在官方API文档中查找到的)

params[@"a"] = @"category";params[@"c"] = @"subscribe";

3.然后我们用GET方法网络请求就可以,获取到列表的参数

[[AFHTTPSessionManager manager] GET:@"http://api.budejie.com/api/api_open.php" parameters:params progress:^(NSProgress * _Nonnull downloadProgress) {    } success:^(NSURLSessionDataTask * _Nonnull task, id  _Nullable responseObject) {        // 隐藏指示器        [SVProgressHUD dismiss];                YYLog(@"%@",responseObject);            } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {        // 显示失败信息        [SVProgressHUD showErrorWithStatus:@"加载推荐信息失败!"];    }];


这个时候返回的中文log参数我们可能看不懂,我分享一个Fundation分类就可以从log中看到中文了

#import <Foundation/Foundation.h>@implementation NSDictionary (Log)- (NSString *)descriptionWithLocale:(id)locale{    NSMutableString *string = [NSMutableString string];        // 开头有个{    [string appendString:@"{\n"];        // 遍历所有的键值对    [self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {        [string appendFormat:@"\t%@", key];        [string appendString:@" : "];        [string appendFormat:@"%@,\n", obj];    }];        // 结尾有个}    [string appendString:@"}"];        // 查找最后一个逗号    NSRange range = [string rangeOfString:@"," options:NSBackwardsSearch];    if (range.location != NSNotFound)    [string deleteCharactersInRange:range];        return string;}@end@implementation NSArray (Log)- (NSString *)descriptionWithLocale:(id)locale{    NSMutableString *string = [NSMutableString string];        // 开头有个[    [string appendString:@"[\n"];        // 遍历所有的元素    [self enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {        [string appendFormat:@"\t%@,\n", obj];    }];        // 结尾有个]    [string appendString:@"]"];        // 查找最后一个逗号    NSRange range = [string rangeOfString:@"," options:NSBackwardsSearch];    if (range.location != NSNotFound)    [string deleteCharactersInRange:range];        return string;}@end






0 0
原创粉丝点击