0
我試圖將圖像保存到我的應用程序文檔目錄。雖然我可以輕鬆地將圖像保存到目錄中,但保存圖像及其縮略圖需要大約兩秒的時間。我正在使用以下方法使用隊列保存圖像。更快速的方式將圖像保存到iOS中的文檔目錄
+ (void)saveImage:(UIImage*)imageToSave withName:(NSString*)imageName toFolder:(NSString*)folderName
{
[Utils createFolderWithPath:folderName];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *savedImagePath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@/%@.png",folderName,imageName]];
NSData *imageData = UIImagePNGRepresentation(imageToSave);
[imageData writeToFile:savedImagePath atomically:NO];
}
+ (void)createFolderWithPath:(NSString *)folderPath
{
NSError *error = nil;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:folderPath];
if (![[NSFileManager defaultManager] fileExistsAtPath:filePath])
{
[[NSFileManager defaultManager] createDirectoryAtPath:filePath withIntermediateDirectories:NO attributes:nil error:&error];
}
}
有沒有更快的方法?由於我必須保存多個圖像,每個圖像需要2秒鐘的時間!
您可以保存圖像在後臺線程和離開主線程的其他進程。您也可以通過計算一次文檔目錄來優化您的代碼,並將其用於將來使用。 – Midhere
做了這些東西,但仍然花費時間來保存圖像。將文檔目錄字符串保存在userdefaults中一次並全部使用。任何其他想法? –
@SahilTyagi你錯過了他給你的主要想法。使用後臺線程和塊來寫入圖像。同時,向用戶展示一個微調器。 – NSNoob