我有一部分應該將圖像保存到手機的「文檔」文件夾中,然後進行訪問。它可以很好地保存,但加載方法並不真正起作用。這裏是我的.m代碼:無法從iPhone/iPhone模擬器的「文檔」文件夾中加載圖像
- (UIImage*)loadImage
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:
@"photo.png" ];
UIImage *image = [UIImage imageWithContentsOfFile:path];
return image;
studentImage = [[UIImageView alloc] initWithImage: image]; //UIImageView property
}
- (UIImage*)loadBarcode
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString* path = [documentsDirectory stringByAppendingPathComponent:
@"barcode.png" ];
NSLog(@"%@", path);
UIImage *image = [UIImage imageWithContentsOfFile:path];
return image;
barcode = [[UIImageView alloc] initWithImage: image]; // UIImageView property
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self loadBarcode];
[self loadImage];
}
這些文件肯定有訪問權限,文件路徑是正確的。但是我試圖將它們分配給它的UIImageView呈現空白。我沒有選擇。你們有什麼建議嗎?
當您手動轉到文件路徑並打開圖像時,它是否真的有內容? – TMob 2014-10-09 06:21:03
你有返回類型UIImage的方法,並且你沒有使用這些方法的返回對象。此外,這些方法中的最後一行將不會被執行,因爲您在最後一行之前返回。 – 2014-10-09 06:24:20
返回圖像聲明應該在您的代碼中將圖像設置爲imageview後最後。因爲在調用函數時不需要返回語句。使該功能爲(void) – Max 2014-10-09 06:25:23