美文网首页
学习HM微博项目第11天

学习HM微博项目第11天

作者: dibadalu | 来源:发表于2015-10-08 11:35 被阅读96次

步骤:HM微博55-const的使用 -> HM微博56-重构

HM微博55-const的使用

Effective Objective-C 2.0的第4条 : 多用类型常量,少用#define预处理指令,其中关于全局常量的要点是:在头文件中使用extern来声明全局常量,并在相关实现文件中定义其值。这种常量要出现在全局符号表中,所以其名称应加以区隔,通常用与之相关的类名做前缀。 新建一个HMConst类,如下: 头文件HMConst.h 实现文件HMConst.m

由于这个类要经常使用到,将其导入pch文件中。(ps:从xcode6.0和iOS8之后,苹果官方已经不建议使用pch文件)

pch的详细代码如下:

pch文件

HM微博56-重构

将前面使用到AFN框架封装到工具类,只提供get和post请求给外界使用即可。
/* 头文件HMHttpTool.h  */ 
#import <Foundation/Foundation.h>

@interface HMHttpTool : NSObject

+ (void)get:(NSString *)url params:(NSDictionary *)params success:(void (^)(id json))success failure:(void (^)(NSError *error))failure;
+ (void)post:(NSString *)url params:(NSDictionary *)params success:(void (^)(id json))success failure:(void (^)(NSError *error))failure;

@end


/* 实现文件HMHttpTool.m  */ 

#import "HMHttpTool.h"
#import "AFNetworking.h"

@implementation HMHttpTool

+ (void)get:(NSString *)url params:(NSDictionary *)params success:(void (^)(id json))success failure:(void (^)(NSError *error))failure
{
    //1.创建请求管理者
    AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
    
    //2.发送请求
    [mgr GET:url parameters:params success:^(NSURLSessionDataTask *task, id responseObject) {
        if (success) {
            success(responseObject);
        }
    } failure:^(NSURLSessionDataTask *task, NSError *error) {
        if (failure) {
            failure(error);
        }
    }];
}

+ (void)post:(NSString *)url params:(NSDictionary *)params success:(void (^)(id json))success failure:(void (^)(NSError *error))failure
{
    //1.创建请求管理者
    AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager];
    
    //2.发送请求
    [mgr POST:url parameters:params success:^(NSURLSessionDataTask *task, id responseObject) {
        if (success) {
            success(responseObject);
        }
    } failure:^(NSURLSessionDataTask *task, NSError *error) {
        if (failure) {
            failure(error);
        }
    }];
    
}

@end

然后,对使用网络请求的类进行修改,如HMOAuthViewController、HMHomeViewController,如下:

HMOAuthViewController,post请求的使用实例 HMHomeViewController,get请求的使用实例
导入MJRefresh框架,集成下拉刷新控件和上拉刷新控件
集成下拉刷新控件 集成上拉刷新控件

相关文章

  • 学习HM微博项目第6天

    步骤:首页08-显示微博未读数 -> 首页09-自定义cell -> 首页10-计算cell子控件fram...

  • 学习HM微博项目第7天

    步骤:首页14-时间 -> 首页15-来源 -> 首页16-配图相册 -> 首页17-头像 首页14-时间 通过...

  • 学习HM微博项目第8天

    步骤:发微博01-导航栏内容 -> 发微博02-自定义TextView -> 发微博03-完善TextView和...

  • 学习HM微博项目第9天

    步骤:发微博07-表情键盘01-切换键盘 -> 发微博08-表情键盘02-表情工具条 -> 发微博09-表情键...

  • 学习HM微博项目第10天

    步骤:发微博12-表情键盘06-点击表情 -> 发微博13-表情键盘07-插入表情和封装textView -> ...

  • 学习HM微博项目第2天

    步骤:导航栏主题 -> 添加搜索框 -> 易混淆的属性 -> 自定义搜索框 -> 标题按钮 -> 弹出...

  • 学习HM微博项目第1天

    步骤:搭建基本环境 -> 展示子控制器 -> 项目分层 -> 增加导航功能 -> 增加导航栏按钮。 搭建基本环境...

  • 学习HM微博项目第3天

    步骤:自定义tabBar -> 版本新特性01-搭载界面 -> 版本新特性02-按钮的使用细节 ->...

  • 学习HM微博项目第5天

    步骤:首页01-获得用户昵称和封装标题按钮 -> 首页02-加载微博数据 -> 首页03-字典转模型 -> 首...

  • 学习HM微博项目第4天

    步骤:OAuth授权01_加载登录界面 -> OAuth授权02_获得accessToken -> OAu...

网友评论

      本文标题:学习HM微博项目第11天

      本文链接:https://www.haomeiwen.com/subject/dyrncttx.html