1.plist转model
#import <Foundation/Foundation.h>
@interface TYAPP : NSObject
@propertyNSString * name;
@propertyNSString * icon;
-(instancetype)initWithDict:(NSDictionary *)dict;
+(instancetype)appWithDict:(NSDictionary *)dict;
@end
#import "TYAPP.h"
@implementation TYAPP
-(instancetype)initWithDict:(NSDictionary *)dict{
_name = dict[@"name"];
_icon = dict[@"icon"];
// NSLog(@"initWithDict %@ ,%@",_name,_icon);
returnself;
}
+(instancetype)appWithDict:(NSDictionary *)dict{
return [[selfalloc] initWithDict:dict];
}
@end
2.自定义xib的赋值方法
*修改xib为自定义类,可以使控件拖动,成为可处理的对象。**
#import <UIKit/UIKit.h>
@classTYAPP;
@interface TYAppView : UIView
@property (nonatomic, strong) TYAPP *model;
@end
#import "TYAppView.h"
#import "TYAPP.h"
@interfaceTYAppView ()
@property (weak, nonatomic) IBOutletUIImageView *imageView;
@property (weak, nonatomic) IBOutletUILabel *labName;
@property (weak, nonatomic) IBOutletUIButton *butDownLoad;
@end
@implementation TYAppView
-(void)setModel:(TYAPP *)model{
_model = model;
self.imageView.image = [UIImageimageNamed:model.icon];
self.labName.text = model.name;
self.butDownLoad.backgroundColor = [UIColorblueColor];
// NSLog(@"setAppModel %@ ,%@",model.name,model.icon);
}
@end
3.获取plist文件
//1.获取plist文件。
NSString * path = [[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil];
NSArray * array = [NSArray arrayWithContentsOfFile: path];
4.加载xib文件
//2.1 通过xib文件加载UIView
NSBundle *rootBundle = [NSBundlemainBundle];
TYAppView *appView = [[rootBundle loadNibNamed:@"AppView"owner:niloptions:nil] lastObject];//返回的是一个列表,所以取第一个或者最后一个