<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