Как работает NSDocumentsDirectory? - PullRequest
1 голос
/ 30 марта 2012

Я использую NSDocumentDirectory для сохранения изображения каждый раз, когда пользователь может сохранять разные разные отредактированные изображения в моем приложении по нажатию кнопки, как показано ниже

-(void)saveImg{
    NSData *pngData = UIImagePNGRepresentation(signatureImage);
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
        NSString *documentsPath = [paths objectAtIndex:0]; 
        NSString *filePath = [documentsPath stringByAppendingPathComponent:@"myPhoto.png"]; 
        [pngData writeToFile:filePath atomically:YES]; 
}

, и я получаю свое изображение в другом классекак

-(void)getMyImg{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
    NSString *documentsPath = [paths objectAtIndex:0]; 
    NSString *filePath = [documentsPath stringByAppendingPathComponent:@"myPhoto.png"]; 
    NSData *pngData = [NSData dataWithContentsOfFile:filePath];
    UIImage *myImage = [UIImage imageWithData:pngData];
    imgView.image = myImage;
}

Мой вопрос о том, что использование Каталога приложений Apps вызовет какие-либо проблемы с памятью? Например, если я нажму на мой метод saveImg более 100 раз, тогда в моем наборе 100 изображенийapps DocumentDirectory или при каждом вызове ранее сохраненное изображение заменяется новым (поскольку я даю то же имя, что и myPhoto.png ), как именно работает DocumentsDirectory?

Любая помощьценится заранее.

Ответы [ 2 ]

3 голосов
/ 30 марта 2012

утечка памяти: Answer is NO. There is no memory leak as all objects will be autoreleased.

Изображение будет заменено Answer is YES. Image will be replaced.

Надеюсь, это поможет.

1 голос
/ 30 марта 2012

Поведение по умолчанию - перезаписать файл, если у него есть разрешение (что есть в каталоге документов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...