• IOS中的属性列表----Property List


    属性列表,是一种用来存储串行化后的对象的文件。因为扩展名为plist ,因此通常被称为 plist文件。

      plist文件通常用于储存用户设置,也可以用于存储捆绑的信息,其内容为xml格式。它可以在程序运行期间动态的创建和读写,因此可以用于少量数据时候的数据持久化。

      NSUserDefaults类提供了一个与默认系统进行交互的编程接口,用户可以在程序运行的时候读写数据,实现了数据的持久化。而用于存储NSUserDefaults的文件实质上就是一个属性列表文件。

    <一> 自定义属性列表存取

    复制代码
    // 获得文件路径
    NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    NSString *filePath = [documentPath stringByAppendingPathComponent:@"student.plist"];
       
    // 往plist文件中存储的数据
    NSMutableDictionary *dict = [NSMutableDictionary dictionary];
    NSDictionary *stu1= @{@"idNum":@"1",@"name": @"jereh"};
     [dict setValue:stu1 forKey:@"stu1"];
    // 新数据写入plist文件
     [dict writeToFile:filePath atomically:YES];
        
    // 读取plist文件中数据
    NSMutableDictionary *dicNow = [[NSMutableDictionary alloc] initWithContentsOfFile:filePath];
    int idNum = [[dicNow objectForKey:@"idNum"] intValue];
    NSString *name = [dicNow objectForKey:@"name"];
    复制代码

    小结:

    1. 属性列表适合存储轻量级的本地数据
    2. 支持存储的数据格式为Foundation框架中得数据类型NSNumber,NSString,NSDate,NSArray,NSDictionary,BOOL, NSData
    3. 属性列表不能存储自定义的对象、
    4. 属性列表的根目录只能为NSDictionary或者NSArray
    5. 以键值对的形式存储
    6. 存储时间为整体应用程序存续时间,如果想要删除,需要删除整体应用程序

    <二> NSUserDefaults

    复制代码
      // 创建NSUserDefaults对象
        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
        
        //存数据
        [defaults setObject:@"jereh" forKey:@"name"];
        //将缓存中的数据存放在磁盘上
        [defaults synchronize];
        
        //取数据
        NSString *name = [defaults objectForKey:@"name"];
        
        //删除数据
        [defaults removeObjectForKey:@"name"];
       [defaults synchronize];
    复制代码

    小结:

    1. NSUserDefaults适合存储轻量级的本地数据
    2. 支持存储的数据格式为Foundation框架中的数据类型
    3. 不能存储自定义的对象
    4. 以键值对的形式存储
    5. 存储时间为整体应用程序存续时间,如果想要删除,需要删除整体应用程序
  • 相关阅读:
    u3d 地形 U3d terrain
    u3d 鼠标点击位置,物体移动过去。 U3d mouse clicks position, objects move past.
    u3d 逐个点运动,路径运动。 U3d one by one, path motion.
    u3d 楼梯,圆环,椭圆,直线运动。世界坐标。点击。U3d stair, ring, ellipse, linear motion.World coordinates.Click .
    u3d 元件的克隆 Cloning of u3d components
    u3d 创建元件 预制件 U3d creates component prefabricated parts
    Unity3D 入门 游戏开发 Unity3D portal game development
    Egret 之 消除游戏 开发 PART 6 Egret elimination game development PART 6
    [BZOJ1101][POI2007]Zap
    [BZOJ2820]YY的GCD
  • 原文地址:https://www.cnblogs.com/tangshiguang/p/6753655.html
Copyright © 2020-2023  润新知