NerdzUtils
NerdzUtils
是一组为简化使用 Swift
语言和 UIKit
框架进行开发的有用类和扩展
LoadableImageView
从 URL 简单加载图像
avatarImageView.loadableImage = .fromUrl(object.url)
带缓存的从 URL 加载图像
avatarImageView.loadableImage = .fromUrl(object.url)
let blurInfo = BlurHashInfo(
hash: object.hash,
size: CGSize(width: 16, height: 16
)
avatarImageView.loadableImage = .fromUrl(
object.url,
storingPolicy: .cache(timeout: 3600),
blurHash: blurInfo)
属性
名称 | 类型 | 辅助功能 | 描述 |
---|---|---|---|
placeholderImage |
UIImage? |
read-write IBInspectable |
在加载过程中用作占位符的图像 |
loadableImage |
LoadableImage |
read-write |
需要加载的图像的代表 |
LoadableImageView.LoadableImage
枚举
@ 类型: 枚举
表示用于 LoadableImageView
加载图像的不同方式的枚举
案例
.fromUrl(
_ url: URL?,
storingPolicy: ImageStoringPolicy,
blurHash: BlurHashInfo? = nil,
completion: ((UIImage?) -> Void)? = nil
)
以URL格式表示图像
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
url |
URL? |
图像应该从该URL加载的位置 | |
storingPolicy |
ImageStoringPolicy |
加载图像的存储策略 | |
blurHash |
BlurHashInfo? |
nil |
如果图像支持,则提供图像blur.sh 的信息 |
completion |
((UIImage?) -> Void)? |
nil |
图像加载完毕后将调用的完成闭包 |
.fromData(
_ data: Data?,
scale: CGFloat = 1
)
以Data
格式表示图像的表示
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
data |
Data? |
需要从中加载图像的数据 | |
scale |
CGFloat |
1 |
数据图像的缩放因子 |
.named(_ name: String)
可以按名称检索的本地图像的表示
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
name |
String |
图像的本地名称 |
.image(_ image: UIImage)
UIImage
表示
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
image |
UIImage |
需要设置的图像 |
.placeholder
将图像设置为占位符状态
LoadableImageView.ImageStoringPolicy
枚举
@ 类型: 枚举
表示通过 LoadableImageView
类存储加载图像的方式
有关更多信息,请参阅
LoadableImageView
的文档
案例
.none
不需要存储
.cache(timeout: TimeInterval? = nil)
加载的图像需要被缓存
如果没有提供超时时间,则图像将在目标存在时被缓存
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
timeout |
TimeInterval? |
nil |
缓存图像需要在之后的持续时间后重新加载 |
Weak<T>
类
@ 类型: class
在强包装器中添加弱引用的可能性。当您需要在 Array
或 Dictionary
中的对象中有一个弱引用时非常有用
用法示例
class SomeClass {
// All objects stored in this array will be storred with weak reference
private let weekArray = Array<Weak<AnotherClass>>()
}
属性
名称 | 类型 | 辅助功能 | 描述 |
---|---|---|---|
对象 |
T? |
read-write |
包装对象 |
方法
init(_ object: T?)
使用包装对象初始化包装器
名称 | 类型 | 默认值 | 描述 |
---|---|---|---|
对象 |
T? |
包装对象 |