iPhone에 이미지를 저장하고로드하기위한 몇 가지 해결책이 있다는 것을 알고 있습니다. 그러나 아무도 나를 위해 꽤 일한 적이 없다.iPhone 고유 키로 여러 UII 이미지로드 및 저장 하시겠습니까?
예를 들어, 아래의 링크는 고유 한 키로 UIImage를로드하고 저장할 수있는 훌륭한 코드 조각을 가지고 있지만이 코드를 사용하여 이미지를로드하는 방법을 알 수는 없습니다. 키가 이미 있습니다.
//saving an image
- (void)saveImage:(UIImage*)image:(NSString*)imageName {
NSData *imageData = UIImagePNGRepresentation(image); //convert image into .png format.
NSFileManager *fileManager = [NSFileManager defaultManager];//create instance of NSFileManager
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); //create an array and store result of our search for the documents directory in it
NSString *documentsDirectory = [paths objectAtIndex:0]; //create NSString object, that holds our exact path to the documents directory
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.png", imageName]]; //add our image to the path
[fileManager createFileAtPath:fullPath contents:imageData attributes:nil]; //finally save the path (image)
NSLog(@"image saved");
}
//removing an image
- (void)removeImage:(NSString*)fileName {
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.png", fileName]];
[fileManager removeItemAtPath: fullPath error:NULL];
NSLog(@"image removed");
}
//loading an image
- (UIImage*)loadImage:(NSString*)imageName {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.png", imageName]];
return [UIImage imageWithContentsOfFile:fullPath];
}
당신이 날이 정말 감사하겠습니다 그를 해결하는 데 도움 수 있다면
. 여러 이미지를 저장하고 주어진 키가 이미 존재하는지 여부에 따라 이미지를로드해야합니다.
사용할 수 있습니다. 그래서 나는 저장된 이미지의 파일 경로와 코드의 라인을 가지고 if 문을 가지고 있으므로'fileExists'는 저장된 이미지를 반환 할 것이고 그렇지 않으면 nil을 반환 할 것입니다. 그러나 bool은 항상 거짓이라는 의미입니다. 나는 항상 무익한 결과를 얻고 있습니다. loadImage 메서드를 적용하여 이미지가 있는지 확인하는 방법에 대한 아이디어가 있습니까? –
파일 경로는 어떻게 생겼습니까? 전체 디렉토리 경로, 파일 이름 및 파일 확장자를 포함하여 그것이 올바른 것인지 확신합니까? – TheEye
내가 NSLogged 하고이있어 :'/ var/모바일/응용 프로그램/42C18ABE - 18B2 - 41C5-9389 - BC5C15BD8BD4/문서/imgSaved.png' 아니, 맞지? 이미지 이름이 imgSaved.png 일 경우 –