开发者社区 问答 正文

有关在文件夹中保存数组

我要为不用用户账号创建不同的文件夹,在用户的文件夹里还要存储图片。但是不知道该如何实现?

展开
收起
爵霸 2016-05-27 11:41:15 1828 分享 版权
1 条回答
写回答
取消 提交回答
  • 在你的应用里创建directory:

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *folderPath = [documentsDirectory stringByAppendingPathComponent:@"UniqueUserAccount"];
    
    if (![[NSFileManager defaultManager] fileExistsAtPath:folderPath])
       [[NSFileManager defaultManager] createDirectoryAtPath:folderPath withIntermediateDirectories:NO attributes:nil error:&error]; 

    保存NSMutableArray,如果不明白可以百度相关说明

    folderPath = [folderPath stringByAppendingPathComponent:@"array.out"]; 
    [yourArray writeToFile:folderPath atomically:YES];

    读取数组:

    NSArray *arrayFromFile = [NSArray arrayWithContentsOfFile:folderPath];
    NSLog(@"%@",arrayFromFile);

    如果要保存图片的话:

    for(int i = 0;i < [arrImages count];i++)
    {
      folderPath = [folderPath stringByAppendingPathComponent:[NSString stringWithFormat:@"Images%d",i]];
      NSMutableString *imgPath;
      imgPath=[[NSMutableString  alloc] initWithString: [[NSBundle mainBundle] resourcePath]]; 
     [imgPath stringByAppendingPathComponent:[arrImages objectAtIndex:i]];
     NSData *imageData = [NSData dataWithContentsOfFile:imgPath]; 
    
     NSData *imageData = UIImagePNGRepresentation([arrImages objectAtIndex:i]) 
    
     [imageData writeToFile:folderPath atomically:YES]; 
    }
    2019-07-17 19:17:35
    赞同 展开评论
问答分类:
问答地址: