iOS中的应用启动原理以及嵌套模型开发示例详解

2020-01-14 18:34:33于海丽

二、代码示例:

复制代码
 YYcarsgroup.h文件代码:
//
//  YYcarsgroup.h
//  07-汽车展示(高级)
//
//  Created by apple on 14-5-28.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

 

#import <Foundation/Foundation.h>

@interface YYcarsgroup : NSObject
@property(nonatomic,copy)NSString *title;
@property(nonatomic,strong)NSArray *cars;

-(instancetype)initWithDict:(NSDictionary *)dict;
+(instancetype)carsgroupWithDict:(NSDictionary *)dict;
@end


YYcarsgroup.m文件代码:
复制代码
//
//  YYcarsgroup.m
//  07-汽车展示(高级)
//
//  Created by apple on 14-5-28.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

 

#import "YYcarsgroup.h"
#import "YYcars.h"

@implementation YYcarsgroup
-(instancetype)initWithDict:(NSDictionary *)dict
{
    if (self=[super init]) {
        //嵌套的字典转模型
        self.title=dict[@"title"];
        
        //注意
        NSArray *dictcars=dict[@"cars"];
        //像下面这样写可以提高性能
        NSMutableArray *arrayM=[NSMutableArray arrayWithCapacity:dictcars.count];
        for (NSDictionary *dict  in dictcars) {
            YYcars *yycars=[[YYcars alloc]initWithDict:dict];
            [arrayM addObject:yycars];
        }
         // 赋值存储模型的数组给属性
        self.cars=arrayM;
    }
    return self;
}

+(instancetype)carsgroupWithDict:(NSDictionary *)dict