星空网 > 软件开发 > 操作系统

自学iOS开发小功能之四:懒加载中进行字典转模型(两种方式)

假设有一个flags.plist文件

自学iOS开发小功能之四:懒加载中进行字典转模型(两种方式)images/loading.gif' data-original="http://images2015.cnblogs.com/blog/938268/201604/938268-20160425200103002-746732291.png" width="325" height="144" />

ZWFlags.h

 1 #import <Foundation/Foundation.h> 2 @interface ZWFlags : NSObject 3 /** 国旗名字 */ 4 @property (strong, nonatomic)NSString *name; 5  6 /** 国旗图片 */ 7 @property (strong, nonatomic)NSString *icon; 8  9 + (instancetype)flagsWithDict:(NSDictionary *)dict;10 11 @end

ZWFlags.m

#import "ZWFlags.h"@interface ZWFlags()@end@implementation ZWFlags+ (instancetype)flagsWithDict:(NSDictionary *)dict{  ZWFlags *flags = [[self alloc] init];  //此处的self不能用ZWFlags  flags.name = dict[@"name"];  flags.icon = dict[@"icon"]; //此处两句也可以直接写成[flags setValuesForKeysWithDictionary:dict];   return flags;}@end

在需要使用的控制器中

第一种方式:

 1 #import "ViewController.h" 2 #import "ZWFlags.h" 3 /** 所有国旗的数据 */ 4 @property (strong, nonatomic)NSMutableArray *flags; 5  6 @end 7  8 @implementation ViewController 9 10 - (NSMutableArray *)flags11 {12   if (_flags == nil) {13     //装flag模型14     _flags =[NSMutableArray array];15 //    加载plist数据16     NSString *path = [[NSBundle mainBundle] pathForResource:@"flags.plist" ofType:nil];17     NSArray *arr = [NSArray arrayWithContentsOfFile:path];18 //    字典转模型19     for (NSDictionary *dict in arr) {20       ZWFlags *flag = [ZWFlags flagsWithDict:dict];21       [_flags addObject:flag];22     }23   }24   return _flags;25 }

第二种方式:

 1 #import "ViewController.h" 2 #import "ZWFlags.h" 3 /** 所有国旗的数据 */ 4 @property (strong, nonatomic)NSArray *flags; 5  6 @end 7 @implementation ViewController 8  9 - (NSArray *)flags10 { 11   if (_flags == nil) {12     //加载plist文件13     NSString *path = [[NSBundle mainBundle] pathForResource:@"flags.plist" ofType:nil];14     NSArray *dictArr = [NSArray arrayWithContentsOfFile:path];15     16     //字典转模型17     NSMutableArray *flagArray = [NSMutableArray array];18     for (NSDictionary *dict in dictArr) {19       ZWFlags *flag = [ZWFlags flagsWithDict:dict];20       [flagArray addObject:flag];21     }22     _flags = flagArray;23   }24   return _flags;25 }

 




原标题:自学iOS开发小功能之四:懒加载中进行字典转模型(两种方式)

关键词:IOS

IOS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

lazada免费选品软件:https://www.goluckyvip.com/tag/85473.html
lazada安卓app:https://www.goluckyvip.com/tag/85474.html
lazada买家版app:https://www.goluckyvip.com/tag/85475.html
lazada聊天软件:https://www.goluckyvip.com/tag/85481.html
lazada软件:https://www.goluckyvip.com/tag/85482.html
lazada的app:https://www.goluckyvip.com/tag/85483.html
如何确定SEO潜力:综合指南(上期):https://www.kjdsnews.com/a/1836344.html
新手福音!必看之Facebook广告创建流程拆解步骤:https://www.kjdsnews.com/a/1836345.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流