OC从plist文件中获取数据
来源:互联网 发布:封印者画质优化补丁 编辑:程序博客网 时间:2024/06/11 23:44
怎样从plist文件中读取数据,这个和反归档相似,但是也存在着区别,比如说不用解码,当然一般我们获取的数据往往是对一个对象的描述,而且数据的个数也不是一个,因此我们有必要来说一下怎样完整的从plist文件中获取数据,然后放最后以对象的形式放到数组中。
在这个地方我们通过一个例子来描述一下,怎样来完成这些操作。
第一步是创建一个类:
#import <Foundation/Foundation.h>
@interface App : NSObject
@property(nonatomic , copy) NSString *name ;
@property(nonatomic , copy) NSString *icon ;
-(instancetype)initWithName:(NSString *)name andIcon:(NSString *)icon ;
+(instancetype)appWithName:(NSString *)name andIcon:(NSString *)icon ;
@end
根据数据的属性来或获取一个对象:
然后在实现文件中实现这些类:
#import "App.h"
@implementation App
-(instancetype) initWithName:(NSString *)name andIcon:(NSString *)icon
{
if(self=[super init])
{
self.name=name;
self.icon=icon;
}
return self;
}
+(instancetype) appWithName:(NSString *)name andIcon:(NSString *)icon
{
return [[self alloc] initWithName:name andIcon:icon];
}
@end
实现之后我们要进行的操作是:
在ViewController.m这个文件写入这些代码:
#import "ViewController.h"
#import "App.h"
@interface ViewController ()
//现在我们做的都是为了获取文件
//我们在这个地方定义一个数组,为了是能够盛放所创建对象
@property(nonatomic,strong) NSMutableArray *apps;
@end
@implementation ViewController
//重写数组的get方法
-(NSMutableArray*)apps{
//首先是判断这个数组是不是为空
if(_apps==nil)
{
//在这个地方我们可以认为是创建给这个数组赋一个初值
_apps=[NSMutableArray array];
//获取文件,要知道的是这个文件的类型是一个字符串
NSString *file=[[NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil];
//从文件中获取数据,这个从文件中获取了对象并且存储在一个数组中
NSArray *arr=[NSArray arrayWithContentsOfFile:file];
for(NSDictionary *dict in arr)
{
NSString *name=[dict valueForKey:@"name"];
NSString *icon=[dict valueForKey:@"icon"];
App *app=[[App alloc] initWithName:name andIcon:icon];
[_apps addObject:app];
}
}
return _apps;
}
最后我们返回的数组中也就有里里面也就是我们获取的对象。
- OC从plist文件中获取数据
- ios开发从.plist文件中获取数据
- IOS之从plist文件中获取数据
- iOS-从plist文件获取数据
- 从plist中获取数据赋给字典
- cocos2dx-深度解析plist文件(一)(游戏对象的数据如何从plist创建获取)
- 单例 从plist文件中读取数据
- UITableView实现从plist获取数据
- OC读取plist文件
- NSMutableArray从plist文件中初始化
- ios从.plist文件中加载资源
- 4.从Request中获取文件数据
- iOS oc加载plist数据
- Oc plist文件重写单元格
- 获取plist文件信息
- 获取info.plist文件
- 从plist文件读取列表数据并添加索引
- plist 文件 存放数据
- 2n皇后问题
- windows 下安装pip
- namenode 启动过程
- leetcode刷题,总结,记录,备忘 9
- C#与C/C++的交互
- OC从plist文件中获取数据
- 磁盘管理
- 深度学习的里程碑式的文章
- androidStudio 配置
- 浅谈产品和产品经理
- 编程的智慧--王垠
- 深度学习开发工具
- JZOJ 1768【NOI2001】炮兵阵地
- Stuxnet 的启示