猫猫学iOS 之微博项目实战(8)用AFNetworking和SDWebImage简单加载微博数据

猫猫分享,必须精品

原创文章,欢迎转载。转载请注明:翟乃玉的博客

地址:http://blog.csdn.net/u013357243

一:效果

没有图文混排,也没有复杂的UI,仅仅是简单的显示出微博数据,主要介绍AFNetworking和SDWebImage的简单用法

二:加载数据AFNetworking

AFNetworking用法

AFNetworking的用法大体有三步:

一:下载第三方框架(githup也好,百度也好,多的是)

二:导入头文件 #import "AFNetworking.h"

三:开始写代码(以上两步所有的第三方框架都通用)

1,请求管理者

    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];

2,拼接请求参数

    NSMutableDictionary *params = [NSMutableDictionary dictionary];
    params[@"*****"] = @"*****";
    params[@"*****"] = @"*****";
    params[@"*****"] = @"*****";
    。。。。
    ///可以写很多参数

3,发送请求

  [mgr GET:@"https:请求的网址" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {
        //这里写请求成功用的代码
        NSLog(@"请求成功 --- %@", responseObject);

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        //这里写请求失败用的代码
        NSLog(@"请求失败 --- %@",error);
    }];

下面贴出微博项目中的代码

加载最新的微博数据

/**
 *  //加载最新的微博数据
 *
 *
 */
-(void)loadNewStatus
{

    //1,请求管理者
    AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperationManager manager];
    //2,拼接请求参数
    NSMutableDictionary *params = [NSMutableDictionary dictionary];

    HWAccount *account = [HWAccountTool account];
    params[@"access_token"] = account.access_token;
//    params[@"count"] = @20;
    //3,发送请求
    [mgr GET:@"https://api.weibo.com/2/statuses/friends_timeline.json" parameters:params success:^(AFHTTPRequestOperation *operation, id responseObject) {

        HWLog(@"请求成功 --- %@", responseObject);

        //取得微博数组
        self.statuses = responseObject[@"statuses"];
        //刷新表格
        [self.tableView reloadData];

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) {

        HWLog(@"请求失败 --- %@",error);
    }];

}

三:SDWebImage用法

SDWebImage的用法大体有三步:

一:下载第三方框架(githup也好,百度也好,多的是)

二:导入头文件 #import "UIImageView+WebCache.h" (这里面很多头文件,看自己具体需要那种了)

三:开始写代码(以上两步所有的第三方框架都通用)

这个代码写起来就更简单了,例如微博中我们想要让他自己下载缓存一张图片用作每个tableViewCell的图片,并且显示一张占位图片,一句代码就搞定了

[cell.imageView sd_setImageWithURL:[NSURL URLWithString:imageUrl] placeholderImage:placehoder];

然后需要做防止程序内存溢出的操作

一:在程序AppDelegate 中写入头文件#import "SDWebImageManager.h"

二:调用方法,在整个程序内存警报时候调用-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application

三:方法内写入

//整个程序内存警报时候调用
-(void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
    SDWebImageManager *mgr = [SDWebImageManager sharedManager];

    //1,取消下载
    [mgr cancelAll];

    //2,清除内存中的所有图片
    [mgr.imageCache clearMemory];
}

这里贴出cell全部代码供参考

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *ID = @"status";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
    }

    //用indexPathRow取出对应的一条微博字典
    NSDictionary *status = self.statuses[indexPath.row];
    //设置微博作者
    NSDictionary *user = status[@"user"];
    cell.textLabel.text = user[@"name"];
    //设置微博内容
    cell.detailTextLabel.text = status[@"text"];
    //设置微博头像
    NSString *imageUrl = user[@"profile_image_url"];

    //占位图
    UIImage *placehoder = [UIImage imageNamed:@"avatar_default_small"];

    [cell.imageView sd_setImageWithURL:[NSURL URLWithString:imageUrl] placeholderImage:placehoder];

    return cell;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-14 06:43:25

猫猫学iOS 之微博项目实战(8)用AFNetworking和SDWebImage简单加载微博数据的相关文章

猫猫学iOS(四十八)多线程网络之多线程简单了解

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 一:进程和线程 1:什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内. 比如同时打开QQ.Xcode,系统就会分别启动2个进程. 通过"活动监视器"可以查看Mac系统中所开启的进程. 2:什么是线程 1个进程要想执行任务,必须得有线程(每1个进程至少

ssh项目实战经验总结-在bean配置中加载外部的properties配置项

spring配置文件中有些需要改动的配置,为了方便维护和管理,我们把这一部分配置单独的写到properties中. db.properties文件 jdbcUrl=jdbc:mysql:///govSys driverClass=com.mysql.jdbc.Driver user=root password=33269456.cx initialPoolSize=10 maxPoolSize=30 spring配置文件 <?xml version="1.0" encoding=

猫猫学IOS(四)UI之半小时搞定Tom猫

话不多说 先上效果 项目源码素材下载地址: Tom猫游戏代码iOS 素材http://blog.csdn.net/u013357243/article/details/44457357 效果图 曾经风靡一时的tom猫其实制作起来那是叫一个相当的easy啊 功能全部实现,(关键是素材,没有素材的可以加我微信) 新手也可以很快的完成tom这个很拉轰的ios应用哦 做过android的我表示,android党默哀下把,那个做起来真心痛苦.... 然后呢你需要准备这些素材... 拖拽控件吧,因为这一个项

iOS开发——完整项目实战OC篇&amp;百思不得姐第四天

iOS开发——完整项目实战OC篇&百思不得姐第四天 上午 一:自定义按钮使用九宫格布局 二:控件不能点击 三:获取用户点击了那个按钮 四:调整按钮内部控件的位置:主流->上下 五:不能直接使用self.navigationController中或者View中获取导航控制器 方法一: 方法二: 六:布局取整 1 // 总行数 2 3 // NSUInteger rows = sqaures.count / maxCols; 4 5 // if (sqaures.count % maxCols)

(素材_源码) 猫猫学IOS(五)UI之360等下载管理器九宫格UI

猫猫分享,必须精品 先看效果 代码学习地址: 猫猫学IOS(五)UI之360等下载管理器九宫格UI 猫猫学IOS(五)UI之360等下载管理器九宫格UI http://blog.csdn.net/u013357243/article/details/44486609 下载地址:http://download.csdn.net/detail/u013357243/8516817 ps1:有想要源码的可以加猫猫微信znycat QQ也可以:1764541256 --视频学习资料素材免费分析,哎自己一

猫猫学IOS(十七)UI之纯代码自定义Cell实现新浪微博UI

猫猫分享,必须精品 素材代码地址:http://blog.csdn.net/u013357243/article/details/44976175 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 编程思路 代码创建Cell的步骤 1> 创建自定义Cell,继承自UITableViewCell 2> 根据需求,确定控件,并定义属性 3> 用getter方法完成控件的实例化,只创建并添加到contentView,不处理

(素材源码)猫猫学IOS(十七)UI之纯代码自定义Cell实现新浪微博UI

猫猫分享,必须精品 素材代码地址:http://download.csdn.net/detail/u013357243/8580249 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 编程思路 代码创建Cell的步骤 1> 创建自定义Cell,继承自UITableViewCell 2> 根据需求,确定控件,并定义属性 3> 用getter方法完成控件的实例化,只创建并添加到contentView,不处理位置 4&g

猫猫学IOS(十六)UI之XIB自定义Cell实现团购UI

猫猫分享,必须精品 素材代码地址:http://blog.csdn.net/u013357243/article/details/44926809 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 自定义Cell 本次主要是自定义Cell的学习 实现自定义Cell主要有三种方法:按照使用的频繁度排序: XIB > 纯代码 > StoryBoard XIB的定义步骤 1> 新建HMTgCell.xib 2> 拽一

猫猫学IOS(十四)UI之UITableView扩充_表格的修改_(增删移动)

猫猫分享,必须精品 素材代码地址:http://blog.csdn.net/u013357243/article/details/44727823 原文地址:http://blog.csdn.net/u013357243?viewmode=contents 先看效果图 代码 //ps:新建iOS交流学习群:304570962 可以加猫猫QQ:1764541256 或则微信znycat 让我们一起努力学习吧. 原文:http://blog.csdn.net/u013357243?viewmode=