iOS---数据存取

来源:互联网 发布:中小学预算编制软件 编辑:程序博客网 时间:2024/04/30 01:19

iOS应用数据存取的常用方式

1,XML属性列表 –Plist

2,NSkeyedArchiver  归档

3,preference(偏好设置)

4,SQLifte3(可以跨平台的)

5,coreDate

XM属性列表—Plist

属性列表是一种XML格式的文件,扩展名为plist

如果对象是NSArray、NSDictionary,Boolean、date、Number、string 类型,可以使用WriteToFile:  atomicall : 方法直接写入到属性列表文件。

说明atomically 当YES;先创建一个临时文件,直到内容完成后再导入目标文件。当NO:直接写入文件.

注意:如果所指定保存文件的路径不存大,写入文件方法不会报错,文件也不会被保存。

XM属性列表—Plist

属性列表是一种XML格式的文件,扩展名为plist

如果对象是NSArray、NSDictionary,Boolean、date、Number、string 类型,可以使用WriteToFile:  atomicall : 方法直接写入到属性列表文件。

说明atomically 当YES;先创建一个临时文件,直到内容完成后再导入目标文件。当NO:直接写入文件.

注意:如果所指定保存文件的路径不存大,写入文件方法不会报错,文件也不会被保存。


/写下文件,

-(void)writeArray

{

    NSArray *array=@[@1,@2,@3,@4];

    //确定要写入文件位置

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

    NSString *documentsStr=[documents objectAtIndex:0];

    NSString *path=[documentsStr stringByAppendingString:@"/array.plist"];

    NSLog(@"%@",path);

    //写入文件

    [array writeToFile:pathatomically:YES];

    //写入20个字符串

    NSMutableArray *arr=[NSMutableArrayarrayWithCapacity:100];

    for (int i=0; i<100; i++)

    {

        NSString *string=[NSStringstringWithFormat:@"cym_bj%d",arc4random_uniform(100)];

        [arr addObject:string];

        

    }

    //写文件

    NSString *path1=[documentsStr stringByAppendingString:@"/arr.plist"];

    NSLog(@"%@",path1);

    [arr writeToFile:path1atomically:YES];

    

}

-(void)writeDic

{

   NSMutableDictionary *dict=[[NSMutableDictionaryalloc]initWithCapacity:20];

    for (int i=0; i<10; i++)

    {

        NSString *string=[NSString stringWithFormat:@"abc%d",i];

        NSMutableArray *array=[NSMutableArrayarrayWithCapacity:20];

        for (int i=0; i<10; i++)

        {

            NSString *string=[NSStringstringWithFormat:@"%d",arc4random_uniform(100)];

            [arrayaddObject:string];

        }

        

        

        [dict setValue:array forKey:string];

    }

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

    NSString *str=[documents objectAtIndex:0];

    NSString *path=[strstringByAppendingString:@"/abc.plist"];

    [dict writeToFile:pathatomically:YES];

    

    

    

}




0 0
原创粉丝点击