模型
- 什么是模型?
- 专门用来存放数据的对象
- 一般都是一些直接继承自NSObject的纯对象
- 内部会提供一些属性来存放数据
instancetype
- instancetype在类型表示上,跟id一样,可以标识任何对象类型
- instancetype只能用在返回值类型上,不能像id一样,用在参数类型上
- instancetype比id多一个好处:编译器会检测instancetype的真实类型
最初的模型的写法(不使用第三方的一些框架进行转换)
//.h文件中的写法
@interface YWNews : NSObject
/** 配图*/
@property(nonatomic, strong) NSString *icon;
/** 标题*/
@property(nonatomic, strong) NSString *title;
/** 摘要*/
@property(nonatomic, strong) NSString *digest;
- (instancetype)initWithDict:(NSDictionary *)dict;
+ (instancetype)newsWithDict:(NSDictionary *)dict;
@end
//.m文件中的写法
@implementation YWNews
- (instancetype)initWithDict:(NSDictionary *)dict
{
if(self = [super init]){
self.icon = dict[@"icon"];
self.title = dict[@"title"];
self.digest = dict[@"digest"];
}
return self;
}
+ (instancetype)newsWithDict:(NSDictionary *)dict
{
return [[self alloc] initWithDict:dict];
}
@end