提问人:user3745635 提问时间:11/16/2023 更新时间:11/16/2023 访问量:16
如何在 SwiftUI 项目中包装像 SDWebimageSwiftUI 或 Kingfisher 这样的图像缓存库或我自己的实现?
How to wrap an Image caching library like SDWebimageSwiftUI or Kingfisher or my own implementation in a SwiftUI project?
问:
我正在做一个小型的 SwiftUI 项目,因为我相信这是学习任何东西的最佳方式。 来自 UIKit 的背景,有时我确实对如何在 SwiftUI 中执行此操作感到困惑。
我想要实现什么,为什么?
我想呈现一个列表和它们。现在 SwiftUI 提供了一种非常干净的方式来做到这一点,即通过 . 在我看来是好的,但它对任何事情都没有任何功能。lazy loading cells containing images
Cache
AsyncImage
AsyncImage
lazy loading images
cache
因此,我有两个选择,要么编写我自己的缓存机制实现,要么使用社区中任何可靠的内容,我们确实拥有并且将完成大部分繁重的工作,并且对于我想要实现的结果足够可靠,所以我擅长这两个库中的任何一个。SdWebImageSwiftUI
Kingfisher
现在我真正想要实现的目标是什么?我只想使用这些库中的任何一个,以便将来如果我想用其他东西替换它们,那么我不必在应用程序中的任何地方进行更改。
在这样做的同时,我确实希望保留要添加到我们将使用的视图的功能。encapsulate
view modifiers
例如。
CachedImage(url: url_for_image)
.resizable()
.frame(width: x, height: y)
.scaleAspectFit()
.
.
.
我提议的实现可能不是最好的,我非常愿意听取社区的意见,了解什么是更好的方法。
如果我在某个地方错了,请纠正我。
答: 暂无答案
评论