开发中的模型

模型

  • 什么是模型?
    • 专门用来存放数据的对象
    • 一般都是一些直接继承自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

你可能感兴趣的:(开发中的模型)