IOS 实体KVC

<plist version="1.0">
<array>
	<dict>
		<key>name</key>
		<string>天天酷跑</string>
		<key>icon</key>
		<string>icon_00</string>
	</dict>
	<dict>
		<key>name</key>
		<string>全民飞机大战</string>
		<key>icon</key>
		<string>icon_01</string>
	</dict>
</array>
</plist>
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

@interface AppInfoEntity : NSObject

@property(nonatomic, copy) NSString *name;
@property(nonatomic, copy) NSString *icon;

@property(nonatomic, strong) UIImage *appImage;

-(instancetype)initWithDict:(NSDictionary *)dict;

+(instancetype)appInfoEntityWithDict:(NSDictionary *)dict;

+(NSArray *)appInfoEntityList;

@end
#import "AppInfoEntity.h"

@implementation AppInfoEntity

@synthesize appImage = _appImage;

-(UIImage *)appImage
{
    if(_appImage == nil)
    {
        _appImage = [UIImage imageNamed:self.icon];
    }
    return _appImage;
}

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

+(instancetype)appInfoEntityWithDict:(NSDictionary *)dict
{
    return [[self alloc] initWithDict:dict];
}

+(NSArray *)appInfoEntityList
{
    NSString *path = [[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil];
    NSArray *array = [NSArray arrayWithContentsOfFile:path];
    
    
    NSMutableArray *mArray = [NSMutableArray array];
    for(NSDictionary *dict in array)
    {
        [mArray addObject:[AppInfoEntity appInfoEntityWithDict:dict]];
    }
    
    return mArray;
}


@end
 

猜你喜欢

转载自hongmin118.iteye.com/blog/2221091