2 mapmapm MapMapM 于 2012.10.30 16:04 提问

有关在文件夹中保存数组

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

2个回答

Chengzi_963
Chengzi_963   2012.10.31 10:01
已采纳

在你的应用里创建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]; 
}
lwq421336220
lwq421336220   2012.11.05 10:23

标记一下这个问题··························································

lwq421336220
lwq421336220 已经收藏,谢谢。
大约 5 年之前 回复
MapMapM
MapMapM 现在你可以收藏了。
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!