iOS多线程应用开发中自定义NSOperation类的实例解析

2020-01-14 18:41:39于丽

@interface YYappModel : NSObject
/**
 *应用名称
 */
@property(nonatomic,copy)NSString *name;
/**
 *  应用图片
 */
@property(nonatomic,copy)NSString *icon;
/**
 *  应用的下载量
 */
@property(nonatomic,copy)NSString *download;

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


YYappModel.m文件
复制代码
//
//  YYappModel.m
//  01-自定义Operation
//
//  Created by apple on 14-6-26.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

 

#import "YYappModel.h"

@implementation YYappModel

-(instancetype)initWithDict:(NSDictionary *)dict
{
    if (self=[super init]) {
        [self setValuesForKeysWithDictionary:dict];
    }
    return self;
}

//工厂方法
+(instancetype)appModelWithDict:(NSDictionary *)dict
{
    return [[self alloc]initWithDict:dict];
}
@end


主控制器中得逻辑控制部分,YYViewController.m文件
复制代码
//
//  YYViewController.m
//  01-自定义Operation
//
//  Created by apple on 14-6-26.
//  Copyright (c) 2014年 itcase. All rights reserved.
//

 

#import "YYViewController.h"
#import "YYappModel.h"

@interface YYViewController ()
@property(nonatomic,strong)NSArray *apps;

@end


复制代码
@implementation YYViewController
#pragma mark- 懒加载
-(NSArray *)apps
{
    if (_apps==nil) {
        NSString *path=[[NSBundle mainBundle]pathForResource:@"apps.plist" ofType:nil];
        NSArray *tempArray=[NSArray arrayWithContentsOfFile:path];
        
        //字典转模型
        NSMutableArray *array=[NSMutableArray array];