2
我試圖使用以下方法加載圖像。iOS可以從磁盤寫入或讀取圖像數據
我首先檢查我是否已經有磁盤上的圖像,如果我這樣做,我只會從磁盤獲取圖像數據並加載它,否則我會從服務器獲取圖像並寫入磁盤,以便第二次,我需要的圖像,我不會訪問服務器。
問題是它似乎沒有寫入或從磁盤讀取。每次我想要第二次加載圖像時,它仍然會從服務器讀取它們,並且不會調用這些圖像。
如果有人有任何想法,我不知道我做錯了什麼?
-(UIImage *)imageWith:(NSString *)imageName isPreview:(BOOL)preview
{
//imageName is something like "56.jpg"
NSString *mainOrPreview = @"Preview";
if (!preview) {
mainOrPreview = @"Main";
}
NSString *pathSuffix = [[@"Images" stringByAppendingPathComponent:mainOrPreview] stringByAppendingPathComponent:imageName];
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:pathSuffix];
NSData *imageData = [NSData dataWithContentsOfFile:path];
if (imageData) {
NSLog(@"disk");
}
if (!imageData && [self connected]) {
imageData = [NSData dataWithContentsOfURL:[NSURL URLWithString:[serverURL stringByAppendingPathComponent: pathSuffix]]];
if (imageData) {
[imageData writeToFile:path atomically:YES];
}
NSLog(@"server");
}
return [UIImage imageWithData:imageData];
}
OMG!你是個天才!你剛剛救了我。非常感謝你。 – Mona