ByteCountFormatter调用字符串函数似乎会导致内存泄漏
创始人
2025-01-12 22:00:30
0

使用自定义的字符串函数代替ByteCountFormatter自带的函数

例如,用以下代码替换原来的ByteCountFormatter代码:

extension Int {
    func fileSizeString() -> String {
        let byteCount = Double(self)
        let KB = byteCount / 1024.0
        if KB < 1.0 { return "\(Int(byteCount))B" }
        let MB = KB / 1024.0
        if MB < 1.0 { return "\(KB.formattedToTwoDecimalPlaces)KB" }
        let GB = MB / 1024.0
        if GB < 1.0 { return "\(MB.formattedToTwoDecimalPlaces)MB" }
        let TB = GB / 1024.0
        if TB < 1.0 { return "\(GB.formattedToTwoDecimalPlaces)GB" }
        let PB = TB / 1024.0
        return "\(PB.formattedToTwoDecimalPlaces)TB"
    }
}

extension Double {
    var formattedToTwoDecimalPlaces: String {
        return String(format: "%.2f", self)
    }
}

然后使用如下方法获取文件大小字符串:

let fileSizeString = fileSize.fileSizeString()

其中,fileSize是文件大小的Int类型,fileSizeString是文件大小的字符串表示。这种方法避免了原有ByteCountFormatter的内存泄漏问题。

相关内容

热门资讯

透视安装!wepokerh5破... 透视安装!wepokerh5破解,wepoker破解器有用吗(详细黑侠辅助器)一、wepoker破解...
透视好牌!wepoker正确养... 透视好牌!wepoker正确养号方法,wepoker私人定制透视(详细买脚本靠谱)1、wepoker...
透视能赢!wepoker怎么看... 透视能赢!wepoker怎么看牌型,wepoker透视最简单三个步骤(详细开挂)暗藏猫腻,小编详细说...
辅助透视!wepoker透视脚... 辅助透视!wepoker透视脚本苹果版,wepoker亲友圈有用吗(详细辅助器有哪些功能)1、很好的...
透视实锤!wepoker开辅助... 透视实锤!wepoker开辅助能查到吗,wepoker私人局俱乐部辅助(详细私人局可以透视)wepo...
透视数据!wepoker免费脚... 透视数据!wepoker免费脚本咨询,wepoker究竟有没有透视(详细私人辅助软件)1、wepok...
透视总结!wepoker透视脚... 透视总结!wepoker透视脚本免费app,wepoker的辅助器(详细有挂)1、许多玩家不知道we...
透视游戏!wepoker怎么获... 透视游戏!wepoker怎么获得好牌,wepoker有辅助吗(详细有挂);1、打开软件启动之后找到中...
透视软件!wepoker免费透... 透视软件!wepoker免费透视,wepoker破解版内购(详细辅助器要钱玩);wepoker破解版...
透视透视!wepoker辅助分... 透视透视!wepoker辅助分析器,wepoker免费透视脚本(详细透视脚本免费使用视频)1、全新机...