ios中字典转模型的创建以及简单用法
// appModel.h
// Created by zzqqrr on 17/8/19.
//
#import <Foundation/Foundation.h> @interface appModel : NSObject
@property (nonatomic,copy) NSString *title;
@property (nonatomic,copy) NSString *icon;
- (id)initWithDict:(NSDictionary *)dict;
/**类方法用+号*/
+ (id)appWithDict:(NSDictionary *)dict;
@end //
// appModel.m
// Created by zzqqrr on 17/8/19.
//
#import "appModel.h" @implementation appModel
//- (id)initWithDict:(NSDictionary *)dict ios7以前不推荐用id
- (instancetype)initWithDict:(NSDictionary *)dict
{
if(self==[super init])
{
self.title=dict[@"title"];
self.icon=dict[@"icon"];
}
return self;
}
//- (id)appWithDict:(NSDictionary *)dict ios7以前不推荐用id
//直接以类名方式调用,不用alloc 规范标准推荐加上
+(instancetype)appWithDict:(NSDictionary *)dict
{
//return [[appModel alloc] initWithDict:dict];
return [[self alloc] initWithDict:dict];
}
@end
//懒加载应用数据
- (NSArray *)apps
{
if(_apps==nil)
{
//获得plist文件全路径
NSString *path=[[NSBundle mainBundle] pathForResource:@"main.plist" ofType:nil];
//加载数组
//_apps=[NSArray arrayWithContentsOfFile:path];
NSArray *dictArray=[NSArray arrayWithContentsOfFile:path];
NSMutableArray *appArray=[NSMutableArray array];
//把字典数组转换成模型对象,放到数组中
for (NSDictionary *dict in dictArray) {
appModel *apps=[[appModel alloc] initWithDict:dict];
appModel *test=[appModel appWithDict:dict];//类名方式调用,同上//把对象添加到数组上
[appArray addObject:apps];
}
_apps=appArray;
}
return _apps;
}
@interface ViewController ()
@property (nonatomic,strong) NSArray *apps;
@end NSDictionary *dict=self.apps[index];//字典
appModel *model=self.apps[index];//模型
ios中字典转模型的创建以及简单用法的更多相关文章
- IOS中TableView的使用(1) -创建一个简单的tableView
创建一个简单的tableView: #import <UIKit/UIKit.h> /*tableView 一定要遵守这两个协议: UITableViewDataSource,UITabl ...
- iOS开发—字典转模型,KVC设计模式
iOS开发UI基础—字典转模型 开发中,通常使用第三方框架可以很快的实现通过字典转模型,通过plist创建模型,将字典的键值对转成模型属性,将模型转成字典,通过模型数组来创建一个字典数组,通过字典数组 ...
- iOS-字典转模型(单模型)的实现
用模型取代字典的好处 使用字典的坏处 一般情况下,设置数据和取出数据都使用“字符串类型的key”,编写这些key时,编译器不会有任何友善提示,需要手敲, eg:dict[@"name&quo ...
- python中字典dic详解-创建,遍历和排序
原文地址:http://www.bugingcode.com/blog/python_dic_create_sort.html 在python的编程中,字典dic是最典型的数据结构,看看如下对字典的操 ...
- iOS中数据库运用之前的准备-简单的数据库
1.数据持久化 数据持久化是通过文件将数据存储在硬盘上 iOS下主要有四种数据持久化方式 属性列表 对象归档 SQLite数据库 CoreData 数据持久化对的对比 1.属性列表.对象归档适合小数据 ...
- Java中Comparable接口和Comparator接口的简单用法
对象比较器 1.Comparable接口 此接口强行对实现它的每个类的对象进行整体排序,这种排序成为类的自然排序,类的compareTo方法称为类的自然比较方法. 代码示例 import java.u ...
- python3中time模块与datetime模块的简单用法
__author__ = "JentZhang" import time # Timestamp 时间戳 print("Timestamp 时间戳:") pri ...
- iOS开发——笔记篇&关于字典plist读取/字典转模型/自定义View/MVC/Xib的使用/MJExtension使用总结
关于字典plist读取/字典转模型/自定义View/MVC/Xib的使用/MJExtension使用总结 一:Plist读取 /************************************ ...
- iOS中多线程原理与runloop介绍
一.线程概述 有些程序是一条直线,起点到终点:有些程序是一个圆,不断循环,直到将它切断.直线的如简单的Hello World,运行打印完,它的生命周期便结束了,像昙花一现那样:圆如操作系统,一直运行直 ...
随机推荐
- Linux 文本编辑器 vim
第五讲 文本编辑器 vim
- CSS之transform-origin属性
设置旋转元素的基点位置 语法 transform-orign:0 100% 0 transform-origin: x-axis y-axis z-axis; x-axis 定义视图被置于 X 轴的何 ...
- Fragment的onCreateView和onActivityCreate之间的区别(转)
看了有关这个问题的几篇博文,几乎都是引用了stackoverflow上的一个回答: 问题: I know that a fragment’s view hierarchy has to be infl ...
- 牛客练习赛41 B-666RPG
题目链接:https://ac.nowcoder.com/acm/contest/373/B 题意:有n个回合,每个回合给1个数,每个回合你有两种选择 1.加上第i个数 2.将当前数乘-1 想知道有多 ...
- Spring AOP实现Mysql数据库主从切换(一主多从)
设置数据库主从切换的原因:数据库中经常发生的是“读多写少”,这样读操作对数据库压力比较大,通过采用数据库集群方案, 一个数据库是主库,负责写:其他为从库,负责读,从而实现读写分离增大数据库的容错率. ...
- Win10更改CMD控制台的代码页和字体和字号
注意:936(简体中文)时,指定Consolas等英文字体将无效,会自动变为“新宋体”. 代码页:若是UTF8(65001)应改为:0000fde9 字号:000e0000 -> 12 cmd_ ...
- python-django缓存
三 Django的缓存机制 1.1 缓存介绍 1.缓存的简介 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的 ...
- 安卓——Handler延迟跳转
//声明控制对象 Handler handler =new Handler(){ @Override public void handleMessage(Message msg) { super.ha ...
- HTTP及RFC解析。
HTTP协议描述的是发送方与接收方的通信协议,通过两方的自觉遵守而存在,当然有不少的浏览器并没有百分百遵守这份协议.HTTP是运行于应用层的协议,基于TCP协议而运作.基本上是客户/服务器对答模式,其 ...
- ssh -vT git@github.com get “ No such file or directory” 错误
在"Are you sure you want to continue connnecting"的时候回复y,不要打空格跳过 参考:http://stackoverflow.com ...