Как получить путь к библиотеке фотографий? - PullRequest
1 голос
/ 14 января 2011

Я использую фотографии, сохраненные в библиотеке фотографий в моем приложении.Как я могу получить путь к фотографиям, сохраненным в библиотеке фотографий?

Я преобразовал эти UIImage в NSData и сохранил эти данные в изолированной программной среде приложения (в одном файле). Используя sqlite, я создал базу данныхи сохранение пути к файлу в базе данных.Всякий раз, когда мне нужно изображение, я извлекаю NSData из пути к файлу, сохраненного в базе данных.

    NSMutableData *data=[[NSMutableData alloc]init];    
data    =UIImagePNGRepresentation([UIImageimageNamed:@"image.png"]);        
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);    
NSString *documentsDirectory = [paths objectAtIndex:0];     
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"first.txt"];  [data writeToFile:filePath atomically:YES];     
NSString *m=[[@"'"stringByAppendingFormat:filePath]stringByAppendingFormat:@"'"]; 
NSString *query=[[@"INSERT INTO newtable (image) VALUES (" stringByAppendingFormat:m]stringByAppendingFormat:@")"]; 
NSLog(@"query....%@",query);        
[obj configureDatabase:@"Editerdb.rdb"];//function to configure database 
[obj insertInTable:query];// function to insert into db

Этот код работает.Есть ли простой способ сделать это?

1 Ответ

0 голосов
/ 14 января 2011

Ну, во-первых, в первой строке у вас будет утечка памяти. Обратитесь к документации на UIImagePNGRepresentation для помощи. поэтому удалите первую строку кода. и используйте NSData вместо NSMutableData, потому что вы не меняете содержимое изображения.

и, во-вторых, вы сохраняете не путь к изображению в базе данных, а само изображение снова для этого источника в документации по UIImagePNGRepresentation, поэтому, когда вам нужно изображение, просто извлекайте объект NSData из базы данных и конвертируйте NSData до UIImage с использованием imageWithData:

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