zoukankan      html  css  js  c++  java
  • 【iOS入门】plist使用

    iOS的Sharedpreferences  .plist .全名是:Property List .同android 一样,文件是xml格式的。

    1.文档位置:程序user Document文件夹下

    2.创建方法不同与android ,可以在xcode直接配置 。

    3.使用方法:

      一:创建方法,直接新建文件,选择Property List

      

       二:添加一些信息 android中没有此操作。

      

      三:数据类型 :很全,基本什么类型都可以存了。NSData 是 java的字节流inputstream

      数据结构可以是 Map(Dictionary) 和array .

      

      四:读取数据  ,获取数组或字典后可以读取相应数据。 

    -(void)getDataFromPlist{
        NSString*plistPath = [[NSBundle mainBundle]pathForResource:@"user" ofType:@"plist"];
        NSMutableDictionary*dataDic = [[NSMutableDictionary alloc]initWithContentsOfFile:plistPath];
        NSLog(@"%@",dataDic);
    }

      五:写入修改数据。项目中建立的plist修改有坑。一般在沙盒中建plist文件使用。

    创建plist文件路径(一般保存到沙盒document文件夹中)
    //获取plist文件路径
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsPath = [path objectAtIndex:0];
        NSString *plistPath = [documentsPath stringByAppendingPathComponent:@"user_phone.plist"];
    2.根据路径,创建或者取出plist文件内容(如果是数组用NSMutableArray去接,如果是字典就用NSMutableDictionary去接)
    
    //比如说根容器是个数组(字典同理)
    NSMutableArray * plistArray =nil;
        if (![[NSMutableArray alloc]initWithContentsOfFile:plistPath]) {
            //创建一个根容器为数组的plist文件
            plistArray = [NSMutableArray array];
            [plistArray writeToFile:plistPath atomically:YES];
        }else{
            plistArray = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
        }
    3.关于plsit文件的一些操作(其实就是操作数组或字典,然后写入plist)
    
    添加一条数据(以添加账号密码为例)
    NSMutableDictionary * newsDict = [NSMutableDictionary dictionary];
        [newsDict setObject:@"1234567890" forKey:@"user_phone"];
        [newsDict setObject:@"123" forKey:@"user_pass"];
        [plistArray addObject:newsDict];
        [plistArray writeToFile:plistPath atomically:YES];
    修改一条数据
    for (NSDictionary * dict in plistArray) {
            if ([dict[@"user_phone"] isEqualToString:userPhone]) {
                [dict setValue:userPass forKey:@"user_pass"];
                [plistArray writeToFile:plistPath atomically:YES];
                 NSLog(@"%@",plistArray);
                return;
            }
        }
    删除一条数据
    NSMutableArray * plistArray = [[NSMutableArray alloc] initWithContentsOfFile:plistPath];
            for (int i = 0; i < plistArray.count; i++) {
                NSDictionary * dict = plistArray[i];
                if ([dict[@"user_phone"] isEqualToString:userPhone]) {
                    [plistArray removeObject:dict];
                    [plistArray writeToFile:plistPath atomically:YES];
                }
    }
  • 相关阅读:
    黑马程序员_字符串常用处理方法
    动软代码生成器,主子表增加的时候子表的parentID无法插入问题解决方案
    大数据量高并发的数据库优化详解
    C# Socket网络编程精华篇 (转)
    html+javascript+soap获取webservice免费天气预报信息
    js中字符串怎么转化为日期
    attachEvent方法的作用
    C#中[WebMethod]的用法,aspx、ashx、asmx
    C#操作XML方法详解
    C#操作XML的通用方法总结
  • 原文地址:https://www.cnblogs.com/mamamia/p/12288570.html
Copyright © 2011-2022 走看看