1016-01-首页16-计算配图的frame----MJExtention的使用
-------HWPhoto.h---------------------------------------------
#import <Foundation/Foundation.h>
@interface HWPhoto : NSObject
/** 缩略图地址 (模型属性)。 thumbnail_pic 是 pic_urls 数组里面的字典 里面的 key */
@property (nonatomic, copy) NSString *thumbnail_pic; // 要保证 字典属性 和 模型属性 一样。(字典属性即为pic_urls 数组里面的字典的key)
@end
-------HWPhoto.m---------------------------------------------
#import "HWPhoto.h"
@implementation HWPhoto
@end
-------HWStatus.h---------------------------------------------
#import <Foundation/Foundation.h>
@class HWUser;
@interface HWStatus : NSObject
/** string 字符串型的微博ID*/
@property (nonatomic, copy) NSString *idstr;
/** string 微博信息内容*/
@property (nonatomic, copy) NSString *text;
/** object 微博作者的用户信息字段 详细*/
@property (nonatomic, strong) HWUser *user;
/** string 微博创建时间*/
@property (nonatomic, copy) NSString *created_at;
/** string 微博来源*/
@property (nonatomic, copy) NSString *source;
/** 微博配图地址。多图时返回多图链接。无配图返回“[]” */
@property (nonatomic, strong) NSArray *pic_urls;
/** 被转发的原微博信息字段,当该微博为转发微博时返回 */
@property (nonatomic, strong) HWStatus *retweeted_status; // 这个却不要像 pic_urls 那样子:
- (NSDictionary *)objectClassInArray
{ // 在返回的数据里面有一个 pic_urls 数组,里面存放的是多个字典,每一个字典表示一个图片的url。下行写法会把 pic_urls 字典数组 转为 模型数组。也就是把pic_urls数组里面的每一个字典 分别 转换为 HWPhoto 模型。
return @{@"pic_urls" : [HWPhoto class]};
}
因为在用 MJExtension 转换的时候,retweeted_status 是可以直接转换成模型的,因为知道它的类型就是 HWStatus;而数组里面是什么却不知道,所以需要类似 return @{@"pic_urls" : [HWPhoto class]}; 指定。
@end
-------HWStatus.m---------------------------------------------
#import "HWStatus.h"
#import "MJExtension.h"
#import "HWPhoto.h"
@implementation HWStatus
- (NSDictionary *)objectClassInArray
{
// 在返回的数据里面有一个 pic_urls 数组,里面存放的是多个字典,每一个字典表示一个图片的url。下行写法会把 pic_urls 字典数组 转为 模型数组。也就是把pic_urls数组里面的每一个字典 分别 转换为 HWPhoto 模型。
return @{@"pic_urls" : [HWPhoto class]};
}
@end
______________________________________________________________________________________________
示意图1
1016-01-首页16-计算配图的frame----MJExtention的使用的更多相关文章
- LeetCode: 221_Maximal Square | 二维0-1矩阵中计算包含1的最大正方形的面积 | Medium
题目: Given a 2D binary matrix filled with 's and return its area. For example, given the following ma ...
- Cheatsheet: 2013 12.01 ~ 12.16
Mobile Performance Tuning On Android Interoperation Issues in Mixed C/C++/Objective-C Development We ...
- UILabel 根据内容的多少来计算label的frame
self.label.text = @"...."; 计算 frame 的最新方法 //1.设置lable最大显示行数 self.label.numberOfLines = 0; ...
- iOS 新浪微博-5.1 首页微博列表_时间/配图
在上一篇中,我们已经把首页微博显示出来了,但还有很多细节,需要我们去调整的.这一章中,我们将处理好时间,配图,工具框及转发微博等小细节的功能. 时间处理 第一步:定义一个时间的类别,用于判断是昨天.今 ...
- 新浪微博客户端(23)-计算Cell内控件的frame
DJStatusCellFrame.m #import "DJStatusCellFrame.h" #import "DJStatus.h" #import & ...
- 1016 Phone Bills (25 分)
1016 Phone Bills (25 分) A long-distance telephone company charges its customers by the following rul ...
- pat甲级1016
1016 Phone Bills (25)(25 分) A long-distance telephone company charges its customers by the following ...
- 浙大PAT考试1013~1016(最伤的一次。。)
我能说我1016WA了几天都不得最后还是拿别人代码交的么. .. 真心找不到那个神数据.. . 自己把整个程序的流程都画出来了.细致推敲是木有问题的啊... 题目地址:点击打开链接 先从1013開始介 ...
- PAT 甲级 1016 Phone Bills (25 分) (结构体排序,模拟题,巧妙算时间,坑点太多,debug了好久)
1016 Phone Bills (25 分) A long-distance telephone company charges its customers by the following r ...
- iOS开发——UI进阶篇(三)自定义不等高cell,如何拿到cell的行高,自动计算cell高度,(有配图,无配图)微博案例
一.纯代码自定义不等高cell 废话不多说,直接来看下面这个例子先来看下微博的最终效果 首先创建一个继承UITableViewController的控制器@interface ViewControll ...
随机推荐
- javascript中如何实现继承
javascript中如何实现继承 // 原型方式的'继承' function Person(name) { //定义一个Person的构造函数 this.name = name; //添加属性 } ...
- 对DOM操作的一些总结
一.DOM节点 分为三大类: 1.元素节点 :<html>.<body>.<p>等标签 2.文本节点 :标签内的文本.例如<p>这就是文本节点</ ...
- 搭建Web开发环境JavaEE_Eclipse
1. 下载和安装1.1 下载JDK在Java官方网站下载最新版本的 Java SE: http://www.oracle.com/technetwork/java/javase/downloads/ ...
- ajax请求传过来的json数据直接转成对应的实体类时出错:400 Bad Request 不进入controller
今天开发过程中,在SpringMVC中的Action中处理前台ajax请求传过来的json数据直接转成对应的实体类时出错:400 Bad Request,后台也不报错,400指的的是请求无效(请求有语 ...
- 整理齐全 - Vultr VPS自定义安装Windows ISO(2003/2012/2008/WIN7)
最近公司有几个项目是需要在Windows VPS服务器中运行调试的,但是公司给予的成本有限,所以只能在Linux VPS中考虑,毕竟Linux服务器相比Windows系统便宜很多.开始我们运维部门考虑 ...
- QT创建与调用Dll方法(包括类成员)--显式调用
看网上的好多关于QT调用Dll的方法,大部分都是调用函数的,并没有调用C++类成员的情况,即使是有,比如说: 使用Qt编写模块化插件式应用程序 Qt 一步一步实现dll调用(附源码)---(这一篇里没 ...
- IOS tableView的性能优化(缓存池)
使用缓存池(标识类型) 1.通过 一个 标识 去 缓存池 中寻找可循环得用的cell 2.如果缓存池找不到可循环得用的cell:创建一个新的cell(给cell贴个标识) 3.给cell设置新的数据 ...
- 【HHHOJ】ZJOI2019模拟赛(十五)03.17 解题报告
点此进入比赛 得分: \(42+10+14=66\) 排名: \(Rank\ 3\) \(Rating\):\(+53\) \(T1\):[HHHOJ200]稗田的梦中之梦(点此看题面) 暴力\(DF ...
- 【转】批处理命令 For循环命令详解!
批处理for命令详解FOR这条命令基本上都被用来处理文本,但还有其他一些好用的功能!看看他的基本格式(这里我引用的是批处理中的格式,直接在命令行只需要一个%号)FOR 参数 %%变量名 IN (相关文 ...
- 解决Gearman 报sqlite3错误
删除了系统原带的sqlite3 ,到官网上下一个源码,重新编译安装sqlite3. 如:把sqlite3安装到 /usr/local/sqlite3tar zxf sqlite3.xxxx.tar.g ...