Objective c 如何在不使用SDImageCache的情况下实现图像的延迟加载?

Objective c 如何在不使用SDImageCache的情况下实现图像的延迟加载?,objective-c,Objective C,如何在不使用以下链接的情况下实现图像的延迟加载: 注意:我不想使用任何第三方工具。如果你不想使用任何库(有些是MIT或公共领域许可的,所以我认为不使用它们的唯一原因是你想学习如何自己构建) 以下是如何用一种简单有效的方法来实现这一点: 1:在imageView中放置临时占位符图像 2:在背景线程中获取图像 2-a:如果需要缓存功能,请搜索缓存的图像 2-b:如果没有缓存功能或没有缓存图像,请从其源获取图像 2-c:如果具有缓存功能,请将图像保存到缓存 3:在主线程中在imageView中显示图

如何在不使用以下链接的情况下实现图像的延迟加载:


注意:我不想使用任何第三方工具。如果你不想使用任何库(有些是MIT或公共领域许可的,所以我认为不使用它们的唯一原因是你想学习如何自己构建)

以下是如何用一种简单有效的方法来实现这一点:

1:在imageView中放置临时占位符图像

2:在背景线程中获取图像

2-a:如果需要缓存功能,请搜索缓存的图像

2-b:如果没有缓存功能或没有缓存图像,请从其源获取图像

2-c:如果具有缓存功能,请将图像保存到缓存

3:在主线程中在imageView中显示图像

伪代码:(我在运行中编写了它,它不是用来运行的,它可能有错误,对此表示抱歉)

当然,这只是一种可能的方法。我试图让它变得简单,但有很多更好、更复杂的方法可以做到这一点。

试试:

       NSURL *imageURL = [NSURL URLWithString:@"www...."];

            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{

                NSData *imageData = [NSData dataWithContentsOfURL:imageURL];

                dispatch_async(dispatch_get_main_queue(), ^{
                    // Update the UI
                    self.imgVWprofile.image=[UIImage imageWithData:imageData];
                });
            });

比使用检查这个链接:我想使用不使用任何第三方工具,谢谢Ronak
       NSURL *imageURL = [NSURL URLWithString:@"www...."];

            dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{

                NSData *imageData = [NSData dataWithContentsOfURL:imageURL];

                dispatch_async(dispatch_get_main_queue(), ^{
                    // Update the UI
                    self.imgVWprofile.image=[UIImage imageWithData:imageData];
                });
            });