iOS plist文件增删改查

一. plist简介
  • plist文件,即属性列表文件,全名是Property List,这种文件的扩展名为.plist,因此,通常被叫做plist文件。它是一种用来存储串行化后的对象的文件,在iOS开发中通常用来存储用户设置,还可以用于存储程序中经常用到而不经常改动的数据。下面就看一下如何创建和读写plist文件。
  • plist 只能存储基本的数据类型 和 array 字典

二. 首先是使用xcode自带的功能使用plist
1. 根据图片的顺序创建一个新的plist文件
2. 给plist命名
  • 需要注意的问题
    • 命名的时候不能用Info.plist , INfo.plist, xxxInfo.plist等形式,否则会出现下面的情况,因为系统中存在一个Info.plist文件,会发生冲突
3. 然后就可以在xcode中编辑plist文件了
4. 使用plist文件
  • 这里一般只能在读取plist文件,具体获取plist文件路径的代码为:

    复制代码
      NSString *filePath = [[NSBundle mainBundle] pathForResource:@"newsModel" ofType:@"plist"];
  • 然后是获取plist里面的数据,这里跟下面是相同的


三. 使用代码的方式使用plist
1. 写入plist代码演示
复制代码
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsPath = [path objectAtIndex:0];
    NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"newsTest.plist"];
    //创建数据
    NSMutableDictionary *newsDict = [NSMutableDictionary dictionary];
    //赋值
    [newsDict setObject:@"zhangsan" forKey:@"name"];
    [newsDict setObject:@"12" forKey:@"age"];
    [newsDict setObject:@"man" forKey:@"sex"];
    //数据写入plist
    [newsDict writeToFile:plistPath atomically:YES];
2. 读取plist文件代码演示
复制代码
    //获取plist文件的路径
    NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path1 = [pathArray objectAtIndex:0];
    NSString *myPath = [path1 stringByAppendingPathComponent:@"newsTest.plist"];

    //根据之前保存的容器类型读取数据
    //是数组就用数组来获取数据,是字典就用字典来获取数据
    //newsModel.plist文件
    //NSMutableArray *data1 = [[NSMutableArray alloc] initWithContentsOfFile:filePath];
    //newsTest.plist文件
    NSMutableDictionary *data2 = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
3. plist的增删操作
  • 增删操作就是对读取后的plist数据容器进行的增删,然后保存就好
相关推荐
代码的小搬运工14 小时前
UITableView
开发语言·ui·ios·objective-c
互联网行业信息差15 小时前
iOS开发常见问题与最新工具使用心得
macos·ios·cocoa
MonkeyKing16 小时前
iOS Tagged Pointer 原理、判断方式、适用场景与避坑指南
ios
wuxianda103017 小时前
Object-C/Swift/UniApp项目苹果商店上架3天极速解决方案汇报总结
ios·uni-app·objective-c·cocoa·苹果上架
鹤卿12317 小时前
UI----多界面传值
ui·ios
UnicornDev19 小时前
从零开始学iOS开发(第四十七篇):Core Haptics 触感反馈 —— 让应用拥有真实的触觉体验
ios
EasyControl移动设备管理21 小时前
iOS设备“零接触部署”指南
物联网·ios·设备管理·mdm·移动设备管理·abm·ade
Digitally21 小时前
如何在 Mac/MacBook 上删除 iPhone 照片?
macos·ios·iphone
UnicornDev1 天前
从零开始学iOS开发(第四十六篇):SwiftUI 导航与路由 —— 构建可扩展的导航架构
ios