zoukankan      html  css  js  c++  java
  • 对象类型的本地写入---plist文件创建以及读取

        

    #pragma mark---------------------------写入-------------------------

        

        BPOrderInfo *orderInfo = [[BPOrderInfo alloc] init];

         orderInfo.productName = @"100金币";

        NSString *orderStr = [NSString stringWithFormat:@"%@",orderInfo];

        

        NSMutableArray *array = [NSMutableArray array];

     

        for (int i = 0; i < 5; i++) {

            

            [array addObject:orderStr];

        }

        

        

        NSString *library = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) firstObject];

        

        library = [library  stringByAppendingFormat:@"/Caches"];

        NSFileManager *manger = [NSFileManager defaultManager];

        NSString  *path = [library stringByAppendingPathComponent:@"TransactionReceipt"];

        

        [manger createDirectoryAtPath:path withIntermediateDirectories:YES attributes:nil error:nil];

         NSString *string = [NSString stringWithFormat:@"%@/%@",path,@"Array.txt"];

    //     [manger createFileAtPath:string contents:nil attributes:nil];

        

       BOOL XXx = [array writeToFile:string atomically:YES];

     

         NSLog(@"写入路径path = %@",string);

         NSLog(@"写入数组array = %@",array);

        

        

        

     

    #pragma mark--------------------------------取出-----------------------

        

        NSString *library2 = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)  firstObject];

        library2 = [library2  stringByAppendingFormat:@"/Caches"];

        NSString *path2= [NSString stringWithFormat:@"%@/%@/%@",library2,@"TransactionReceipt",@"Array.txt"];

        

        NSLog(@"取出路径path = %@",path2);

       

        

        

        NSFileManager *manger2 = [NSFileManager defaultManager];

        

        if ([manger2 fileExistsAtPath:path2]) {

        

            NSArray *arr = [NSArray arrayWithContentsOfFile:path2];

            NSLog(@"发现本地文件");

             NSLog(@"取出数组arr = %@",arr);

       

            for (BPOrderInfo *order in arr) {

                

    //         NSLog(@"order ==== %@",order.productName);

                

            }

            

         }else

         {

            NSLog(@"未发现本地文件");

         }

     

    //    [self proprtyListTest];

        

    }

     

     // plist文件

    -(void)proprtyListTest

    {

        

        NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];

        

        NSString *path = [documentPath stringByAppendingPathComponent:@"userInfo.plist"];

     

        NSLog(@"propertyList = %@",path);

        NSMutableDictionary *userDic = [NSMutableDictionary dictionary];

        [userDic setObject:@"operation" forKey:@"action"];

        [userDic setObject:@"chen" forKey:@"name"];

        NSMutableArray *array = [NSMutableArray arrayWithObjects:@"张",@"王", nil];

        [userDic setObject:array forKey:@"user"];

        

        NSDictionary *dic = [NSDictionary dictionaryWithObject:@"二十四" forKey:@"江湖"];

        [array addObject:dic];

        [userDic writeToFile:path atomically:YES];

    }

     

  • 相关阅读:
    [pyqt4]mark
    EPC摘抄
    sockaddr struct 类型重定义
    linux编译警告 will be initialized after
    cout如何输出十六进制
    strcpy unsigned char
    c语言格式控制符
    c++字节数组转换为整型
    C++如何判断大小端
    C++中关于位域的概念
  • 原文地址:https://www.cnblogs.com/fan-cong/p/5142316.html
Copyright © 2011-2022 走看看