gpt4 book ai didi

swift - 在不加载资源的情况下获取 PHAsset 的文件大小?

转载 作者:搜寻专家 更新时间:2023-10-30 21:51:00 27 4
gpt4 key购买 nike

有没有办法在不执行 requestImageDataForAsset 或将其转换为 ALAsset 的情况下获取 PHAsset 磁盘上的文件大小?我正在加载用户照片库的预览 - 可能有数千个 - 并且我的应用程序必须在导入之前知道它们的大小。

最佳答案

您可以获取 PHAsset 的 fileSize 并将其转换为人类可读的形式,如下所示:

      let resources = PHAssetResource.assetResources(for: yourAsset) // your PHAsset

var sizeOnDisk: Int64? = 0

if let resource = resources.first {
let unsignedInt64 = resource.value(forKey: "fileSize") as? CLong
sizeOnDisk = Int64(bitPattern: UInt64(unsignedInt64!))
}

然后使用您的 sizeOnDisk 变量并将其传递给这样的方法...

func converByteToHumanReadable(_ bytes:Int64) -> String {
let formatter:ByteCountFormatter = ByteCountFormatter()
formatter.countStyle = .binary

return formatter.string(fromByteCount: Int64(bytes))
}

关于swift - 在不加载资源的情况下获取 PHAsset 的文件大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45110720/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com