Я пытаюсь загрузить изображения, используя следующий метод.iOS может записывать или считывать данные изображения с диска
Я сначала проверяю, есть ли у меня изображения на диске, если я это сделаю, тогда я просто получу данные изображения с диска и загрузи их, иначе я получу изображение с сервера и напишу на диск, чтобы второй раз, когда мне нужен образ, мне не нужно будет обращаться к серверу.
Проблема в том, что он не пишет и не читает с диска. Каждый раз, когда я хочу загружать изображения во второй раз, он все еще читает их с сервера, и NSLog(@"disk");
никогда не будет вызван.
Я не знаю, что я делаю неправильно, если у кого есть идеи?
-(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