Не могу сохранить данные в подкаталоге Documents iPhone - PullRequest
0 голосов
/ 21 июня 2011

Я хочу создать подкаталог (Document / MyFolder) в iphone.Я могу создать подкаталог, но не могу сохранить данные в подкаталоге.Вот мой код

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)?

Спасибо.

1 Ответ

1 голос
/ 21 июня 2011

Ваш 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, как вы предполагали.

...