zoukankan      html  css  js  c++  java
  • 数据持久化 属性列表代码

    - (void)viewDidLoad {

        [super viewDidLoad];

        self.view.backgroundColor=[UIColor lightGrayColor];

    //    创建字符串持久化按钮

        

        self.buttonString=[[UIButton alloc]initWithFrame:CGRectMake(100, 50, 200, 50)];

        [self.buttonString setTitle:@"字符串持久化" forState:UIControlStateNormal];

        self.buttonString.backgroundColor=[UIColor greenColor];

    //    方法调用

        [self.buttonString addTarget:self action:@selector(dataPersistence) forControlEvents:UIControlEventTouchUpInside];

        [self.view addSubview:self.buttonString];

    }

    //数据持久化

    -(void)dataPersistence

    {

    //    字符串持久化

        //获取Documents文件目录:常量NSDocumentDirectory表明我们正在查找Documents目录的路径。第二个常量NSUserDomainMask表明我们希望将搜索限制在应用的沙盒内,在OS X中表明我们希望该函数查看用户的主目录。

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

        //表示将文件放入Documents文件的最后一个,即path作为最后一个对象

        NSString *path=[arrayStr lastObject];

        //@"ANewFile.plist"为新文件名,方法调用后 ,newPathStr 中存放了文件 ANewFile.plist 在 Documents 目录中的完整路径

        NSString *newPathStr=[path stringByAppendingPathComponent:@"ANewFile.plist"];

        NSLog(@"%@",newPathStr);

        //先创建一个NSString(字符串)类型的对象,然后调用实例方法 writeToFile:atomically 将参数写入文件中

        NSString *myFile=@"NewString";

        [myFile writeToFile:newPathStr atomically:YES encoding:NSUTF8StringEncoding error:nil];

    //    说明:这里的atomically参数让该方法将数据写入辅助文件,而不是写入指定位置。成功写入该文件之后,辅助文件将被复制到第一个参数指定的位置。这是更安全的写入文件的方法,因为如果应用在保存期间崩溃,则现有文件(如果有)不会被破坏。尽管增加一点开销,但是多数情况下还是值得的。

    //    说明:这里的myFile 是字符串,所以是字符串的持久化,他可以用Array,Dictionary,Data等可以被序列化的类型;可以被序列化的类型有:

    1)NSArray、NSMutableArray

    2)NSDictionary、NSMutableDictionary

    3)NSData、NSMutableData

    4)NSString、NSMutableString

    5)NSNumber

    6)NSDate

    //获取几种沙盒目录的方法

         //获取Documents目录

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

           NSString *path=[arrayStr lastObject];

        //获取Library目录方法

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

        NSString *libraryDirectory = paths[0];

        //获取tmp目录方法    

        NSString *tempPath = NSTemporaryDirectory();

        NSString *filename = [tempPath stringByAppendingPathComponent:@"theFile.txt"];

    }

  • 相关阅读:
    Git的常用命令收集
    【Android界面实现】使用ScrollingTabsView实现有滑动标签的ViewPager效果
    android ViewPager中页面延迟加载的实现
    android 项目快速修改包名
    Json详细使用(二) 序列话和反序列话
    Json的详细使用(一)处理数组/List/Map
    C++ stack around variable....错误
    刷题-滑动窗口类型 求连续数组最大值
    C# 动态绘制扇形图;
    C# livechart使用
  • 原文地址:https://www.cnblogs.com/Always-LuoHan/p/5303604.html
Copyright © 2011-2022 走看看