• 【每日技术点】13.12.17


    1、plist文件的读取

    保存位置:

    • 工程沙盒里(就是程序user Document文件夹下,以读取文件,写入文件方式)
    • 工程自身里(就是在工程里手动创建一个如.plist文件,把固定的内容写入,这个需要人工手动写入)
    • 工程沙盒里(保存到user Document下,不过不需要读写文件,用系统的 NSUserDefaults 可以快速保存添加读取删除基本数据类型,类似于android里的Sharedpreferences )

    读取方法:

    • 工程路径:
    • 1 //path 读取当前程序定义好的provinces.plist省份城市文件 2 NSString *path = [[NSBundle mainBundle] pathForResource:@"provinces" ofType:@"plist"]; 3 4 NSDictionary *data = [NSDictionary dictionaryWithContentsOfFile:path]; 5 self.provincesContent = [NSArray arrayWithArray:[data objectForKey:@"province"]];//array数组的名称就叫province
    • 沙盒路径:
    • 1 NSArray *patharray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 2 3 NSString *path = [patharray objectAtIndex:0]; 4 5 NSString *filepath=[path stringByAppendingPathComponent:@"provinces.plist"];//添加我们需要的文件全称 6 7 //获取此路径下的我们需要的数据(NSArray,NSDictionary,NSString...) 8 NSMutableArray *rootArray = [NSMutableArray arrayWithContentsOfFile:filepath];//注意,如果想添加新的数据,需要NSMutable类型的
    • plistNSUserDefaults快速读写,利用系统提供的方法,我们可以快速保存简单数据类型,如用户登录用户名密码

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];//获取标准函数对象 NSMutableDictionary *defaultcoordinate = [defaults objectForKey:@"default_coordinate"];//通过对象获取名称下NSMutableDictionary数据 NSString *currentCity = [defaultcoordinate objectForKey:@"c_name"];

     增删改查:

     1     [defaults setObject:@"kaka" forKey:@"newdata"];//添加id对象类型数据
     2     [defaults objectForKey:@"newdata"];//获取对象类型数据
     3     
     4     [defaults setDouble:2013 forKey:@"double"];//添加double类型数据
     5     [defaults doubleForKey:@"double"];//获取double类型数据
     6     
     7     [defaults setBool:NO forKey:@"BOOL"];//添加BOOL类型数据
     8     [defaults boolForKey:@"BOOL"];//获取BOOL类型数据
     9     
    10     [defaults setInteger:12 forKey:@"int"];//添加int类型数据
    11     [defaults integerForKey:@"int"];//获取int类型数据
    12     
    13     [defaults setFloat:0.23 forKey:@"float"];//添加Float类型数据
    14     [defaults floatForKey:@"float"];//获取float类型数据
    15     
    16     [defaults removeObjectForKey:@"newdata"];//删除对象数据

    操作之后记得Synchronize同步操作,否则偶然会因为别的线程占大量内存而没有保存成功

       [defaults synchronize];

    参考链接:

    http://blog.csdn.net/mad1989/article/details/8560796

  • 相关阅读:
    计算 sql查询语句所花时间
    iframe自适应高度,以及一个页面加载多个iframe
    窗体移动API和窗体阴影API
    js复习:
    web组合查询:
    web登陆,增删改加分页。
    cookie和Session传值
    控件及其数据传输
    ASP.NET WebForm
    三月总结
  • 原文地址:https://www.cnblogs.com/ymonke/p/3479171.html
Copyright © 2020-2023  润新知