[iOS微博项目 - 2.6] - 获取微博数据
1 /** 加载微博数据 */ 2 - (void) loadWeiboData { 3 // 创建AFNetworking的http操作中管理器 4 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 5 6 // 设置参数 7 NSMutableDictionary *param = [NSMutableDictionary dictionary]; 8 param[@"access_token"] = [HVWAccountInfoTool accountInfo].access_token; 9 10 // 发送请求 11 [manager GET:@"https://api.weibo.com/2/statuses/home_timeline.json" parameters:param success:^(AFHTTPRequestOperation *operation, NSDictionary *responseObject) { 12 HVWLog(@"获取微博数据成功-------%@", responseObject); 13 } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 14 HVWLog(@"获取微博数据失败------%@", error); 15 }]; 16 }
statuses = [
{
rid = 0_0_2669621413509583897,
visible = {
type = 0,
list_id = 0
},
original_pic = http://ww1.sinaimg.cn/large/c3ad47bejw1eoygflrel2g201w034q34.gif,
mid = 3806890389487492,
source = <a href="http://app.weibo.com/t/feed/3j6BDx" rel="nofollow">孔明社交管理</a>,
truncated = 0,
reposts_count = 2,
bmiddle_pic = http://ww1.sinaimg.cn/bmiddle/c3ad47bejw1eoygflrel2g201w034q34.gif,
darwin_tags = [
],
1 // 2 // HVWUser.h 3 // HVWWeibo 4 // 5 // Created by hellovoidworld on 15/2/5. 6 // Copyright (c) 2015年 hellovoidworld. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 11 @interface HVWUser : NSObject 12 13 /** 友好显示名称 */ 14 @property(nonatomic, strong) NSString *name; 15 16 /** 用户头像地址(中图),50×50像素 */ 17 @property(nonatomic, strong) NSString *profile_image_url; 18 19 20 +(instancetype) userWithDict:(NSDictionary *) dict; 21 22 @end
1 // 2 // HVWUser.m 3 // HVWWeibo 4 // 5 // Created by hellovoidworld on 15/2/5. 6 // Copyright (c) 2015年 hellovoidworld. All rights reserved. 7 // 8 9 #import "HVWUser.h" 10 11 @implementation HVWUser 12 13 +(instancetype) userWithDict:(NSDictionary *) dict { 14 HVWUser *user = [[self alloc] init]; 15 16 user.name = dict[@"name"]; 17 user.profile_image_url = dict[@"profile_image_url"]; 18 19 return user; 20 } 21 22 @end
1 // 2 // HVWStatus.h 3 // HVWWeibo 4 // 5 // Created by hellovoidworld on 15/2/5. 6 // Copyright (c) 2015年 hellovoidworld. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 #import "HVWUser.h" 11 12 @interface HVWStatus : NSObject 13 14 /** 微博信息内容 */ 15 @property(nonatomic, strong) NSString *text; 16 17 /** 微博作者的用户信息字段 详细 */ 18 @property(nonatomic, strong) HVWUser *user; 19 20 /** 微博配图地址数组,里面装载的时HVWPic模型 */ 21 @property(nonatomic, strong) NSArray *pic_urls; 22 23 + (instancetype) statusWithDict:(NSDictionary *) dict; 24 25 @end
1 // 2 // HVWStatus.m 3 // HVWWeibo 4 // 5 // Created by hellovoidworld on 15/2/5. 6 // Copyright (c) 2015年 hellovoidworld. All rights reserved. 7 // 8 9 #import "HVWStatus.h" 10 #import "HVWUser.h" 11 12 @implementation HVWStatus 13 14 + (instancetype) statusWithDict:(NSDictionary *) dict { 15 HVWStatus *status = [[HVWStatus alloc] init]; 16 17 status.text = dict[@"text"]; 18 status.user = [HVWUser userWithDict:dict[@"user"]]; 19 20 return status; 21 } 22 23 @end
1 // HVWHomeViewController.m 2 /** 加载微博数据 */ 3 - (void) loadWeiboData { 4 // 创建AFNetworking的http操作中管理器 5 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 6 7 // 设置参数 8 NSMutableDictionary *param = [NSMutableDictionary dictionary]; 9 param[@"access_token"] = [HVWAccountInfoTool accountInfo].access_token; 10 11 // 发送请求 12 [manager GET:@"https://api.weibo.com/2/statuses/home_timeline.json" parameters:param success:^(AFHTTPRequestOperation *operation, NSDictionary *responseObject) { 13 // HVWLog(@"获取微博数据成功-------%@", responseObject); 14 15 // 保存数据到内存 16 NSArray *dataArray = responseObject[@"statuses"]; 17 18 for (NSDictionary *dict in dataArray) { 19 HVWStatus *status = [HVWStatus statusWithDict:dict]; 20 [self.statuses addObject:status]; 21 } 22 23 // 刷新数据 24 [self.tableView reloadData]; 25 26 } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 27 HVWLog(@"获取微博数据失败------%@", error); 28 }]; 29 } 30 31 - (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 32 33 static NSString *ID = @"HomeCell"; 34 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID]; 35 if (nil == cell) { 36 cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID]; 37 } 38 39 HVWStatus *status = self.statuses[indexPath.row]; 40 HVWUser *user = status.user; 41 42 // 加载内容 43 cell.textLabel.text = status.text; 44 // 作者 45 cell.detailTextLabel.text = user.name; 46 // 作者头像 47 NSString *imageUrlStr = user.profile_image_url; 48 [cell.imageView setImageWithURL:[NSURL URLWithString:imageUrlStr] placeholderImage:[UIImage imageWithNamed:@"avatar_default_small"]]; 49 50 return cell; 51 }
1 // 2 // HVWUser.h 3 // HVWWeibo 4 // 5 // Created by hellovoidworld on 15/2/5. 6 // Copyright (c) 2015年 hellovoidworld. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 11 @interface HVWUser : NSObject 12 13 /** 友好显示名称 */ 14 @property(nonatomic, strong) NSString *name; 15 16 /** 用户头像地址(中图),50×50像素 */ 17 @property(nonatomic, strong) NSString *profile_image_url; 18 19 @end
1 // 2 // HVWStatus.h 3 // HVWWeibo 4 // 5 // Created by hellovoidworld on 15/2/5. 6 // Copyright (c) 2015年 hellovoidworld. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 #import "HVWUser.h" 11 12 @interface HVWStatus : NSObject 13 14 /** 微博信息内容 */ 15 @property(nonatomic, strong) NSString *text; 16 17 /** 微博作者的用户信息字段 详细 */ 18 @property(nonatomic, strong) HVWUser *user; 19 20 /** 微博配图地址数组,里面装载的时HVWPic模型 */ 21 @property(nonatomic, strong) NSArray *pic_urls; 22 23 @end
1 // HVWHomeViewController.m 2 /** 加载微博数据 */ 3 - (void) loadWeiboData { 4 // 创建AFNetworking的http操作中管理器 5 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 6 7 // 设置参数 8 NSMutableDictionary *param = [NSMutableDictionary dictionary]; 9 param[@"access_token"] = [HVWAccountInfoTool accountInfo].access_token; 10 11 // 发送请求 12 [manager GET:@"https://api.weibo.com/2/statuses/home_timeline.json" parameters:param success:^(AFHTTPRequestOperation *operation, NSDictionary *responseObject) { 13 // HVWLog(@"获取微博数据成功-------%@", responseObject); 14 15 // 保存数据到内存 16 NSArray *dataArray = responseObject[@"statuses"]; 17 18 // 使用MJExtension直接进行字典-模型转换 19 self.statuses = [HVWStatus objectArrayWithKeyValuesArray:dataArray]; 20 21 // 刷新数据 22 [self.tableView reloadData]; 23 24 } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 25 HVWLog(@"获取微博数据失败------%@", error); 26 }]; 27 }
1 // 2 // HVWPic.h 3 // HVWWeibo 4 // 5 // Created by hellovoidworld on 15/2/5. 6 // Copyright (c) 2015年 hellovoidworld. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 11 @interface HVWPic : NSObject 12 13 /** 缩略图片地址,没有时不返回此字段 */ 14 @property(nonatomic, strong) NSString *thumbnail_pic; 15 16 @end
1 // 2 // HVWStatus.m 3 // HVWWeibo 4 // 5 // Created by hellovoidworld on 15/2/5. 6 // Copyright (c) 2015年 hellovoidworld. All rights reserved. 7 // 8 9 #import "HVWStatus.h" 10 #import "HVWPic.h" 11 12 // 注意引入框架 13 #import "MJExtension.h" 14 15 @implementation HVWStatus 16 17 - (NSDictionary *)objectClassInArray { 18 // 返回一个字典,创建数组子元素和包装类的映射关系 19 return @{@"pic_urls": [HVWPic class]}; 20 } 21 22 @end
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。