iOS 之plist的使用

      在iOS的开发中,用到plist的时候还是很多的,那到底怎么用呢?接下来我们进行介绍......

plist的创建:

图1

创建完plist,你可以选择plist的数据是字典还是数组

图2

2.plist的存取删:

存:

NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"];

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString *plistPath1 = [paths objectAtIndex:0];

//得到完整的文件名

NSString *filename=[plistPath1 stringByAppendingPathComponent:@"Data.plist"];

NSMutableArray * data_arr = [[NSMutableArray alloc]initWithContentsOfFile:filename];

if (!data_arr) {

data_arr = [[NSMutableArray alloc]initWithContentsOfFile:plistPath];

}else{

data_arr = [[NSMutableArray alloc]initWithContentsOfFile:filename];

}

NSLog(@"----dataArr--%@",data_arr);

NSMutableDictionary * dic = [[NSMutableDictionary alloc]init];

[dic setObject:time forKey:@"time"];

[dic setObject:sort forKey:@"sort"];

[dic setObject:price forKey:@"price"];

[data_arr addObject:dic];

//输入写入

[data_arr writeToFile:filename atomically:YES];

NSMutableArray *data1 = [[NSMutableArray alloc] initWithContentsOfFile:filename];

NSLog(@"data==%@",data1);

注意:在存数据的时候一定要先判断你拿到的data_arr对象到底存在不存在

取:

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString *plistPath1 = [paths objectAtIndex:0];

//得到完整的文件名

NSString *filename=[plistPath1 stringByAppendingPathComponent:@"Data.plist"];

dataSource = [[NSMutableArray alloc] initWithContentsOfFile:filename];

删:

删除某一个元素:

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString *plistPath1 = [paths objectAtIndex:0];

//得到完整的文件名

NSString *filename=[plistPath1 stringByAppendingPathComponent:@"caogao.plist"];

NSMutableArray * data_arr = [[NSMutableArray alloc]initWithContentsOfFile:filename];

[data_arr removeObjectAtIndex:self.index];

//输入写入

[data_arr writeToFile:filename atomically:YES];

NSMutableArray *data1 = [[NSMutableArray alloc] initWithContentsOfFile:filename];

NSLog(@"删除草稿后数据data==%@",data1);

删除所有的元素:

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

NSString *plistPath1 = [paths objectAtIndex:0];

//得到完整的文件名

NSString *filename=[plistPath1 stringByAppendingPathComponent:@"caogao.plist"];

NSMutableArray * data_arr = [[NSMutableArray alloc]initWithContentsOfFile:filename];

[data_arr removeAllObjects];

//输入写入

[data_arr writeToFile:filename atomically:YES];

NSMutableArray *data1 = [[NSMutableArray alloc] initWithContentsOfFile:filename];

NSLog(@"删除草稿后数据data==%@",data1);

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.不可变数组转变为可变数组声明实例变量的数组 必须记得实现 对于遍历数组找到对象后 如果还需要查找 记得先结束 ...
    小新xin阅读 782评论 0 1
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,773评论 2 7
  • *7月8日上午 N:Block :跟一个函数块差不多,会对里面所有的内容的引用计数+1,想要解决就用__block...
    炙冰阅读 2,586评论 1 14
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,274评论 30 472
  • 1、改变 UITextField 占位文字 颜色和去掉底部白框 [_userName setValue:[UICo...
    i_MT阅读 1,083评论 0 2