【问题标题】:Can not save data in subdirectory of Documents iPhone无法将数据保存在 Documents iPhone 的子目录中
【发布时间】:2011-09-19 20:01:43
【问题描述】:

我想在 iphone 中创建一个子目录 (Document/MyFolder)。我可以创建子目录但不能在子目录中保存数据。这是我的代码

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];

[dateFormat setDateFormat:@"YYYYMMDD_HHMMSS"];

 NSDate *date = [[NSDate alloc] init];

 NSString *currentDate = [dateFormat stringFromDate:date];

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

 NSString *documentsDirectory = [paths objectAtIndex:0];

 NSString *tileImageName = [NSString stringWithFormat:@"%@%@",currentDate,@".png"];

 NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"/MyFolder"];

 if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath]){

 [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:nil]; 

 }

 NSData* data = UIImagePNGRepresentation(tileImage);

 [data writeToFile:dataPath atomically:YES];

 [dateFormat release];

 [date release];

如何在这个子目录中保存数据?

我还需要在用户单击按钮时删除此文件夹。如何删除此子目录(在本例中为 MyFolder)?

谢谢。

【问题讨论】:

    标签: iphone cocoa-touch nsfilemanager


    【解决方案1】:

    您的dataPath 不包括tileImageName。您应该定义一个tileImagePath 以包含tileImageName。应该是吧,

     NSString * tileImageName = [NSString stringWithFormat:@"%@%@",currentDate,@".png"];
     NSString * dataPath = [documentsDirectory stringByAppendingPathComponent:@"MyFolder"];
     NSString * tileImagePath = [dataPath stringByAppendingPathComponent:tileImageName];
    
     if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath]){
         [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:nil]; 
     }
    
     NSData * data = UIImagePNGRepresentation(tileImage);    
     [data writeToFile:tileImagePath atomically:YES];
    

    所以你的dataPath 类似于../Documents/MyFolder 而不是你想要的../Documents/MyFolder/20110622_011700.png

    【讨论】:

    • 感谢您的快速回复。我会做。如何删除文件夹,以便从文件夹中删除所有数据?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-08
    • 2011-03-13
    • 2012-01-02
    • 1970-01-01
    • 2011-11-20
    相关资源
    最近更新 更多