【发布时间】:2012-07-22 02:31:53
【问题描述】:
有谁知道 Apple 使用什么 api 来确定 Lion 中的可用空间的 Get Info 面板?我试图获得与 Apple 报告的相同可用空间失败的所有代码,即使 Quick Look 也没有显示 Get Info 显示的相同空间。如果我删除一堆文件并尝试读取可用空间,这似乎会发生。
当我使用 NSFileManager -> NSFileSystemFreeSize 我得到 42918273024 字节
当我使用 NSURL -> NSURLVolumeAvailableCapacityKey 时,我得到 42918273024 字节
当我使用 statfs -> buffer.f_bsize * buffer.f_bfree 我得到 43180417024 字节
statfs 获得与 Quick Look 相似的结果,但如何匹配 Get Info?
【问题讨论】:
-
这可能是base 2和base 10计算之间的差异。我认为苹果在 SL 中将系统范围的存储空间更改为 base 10,但我不知道为什么它们会相差那么远。由于交换、缓存和屏幕截图,它们可能略有不同
-
我不记得两者之间的转换公式了。
-
Mountain Lion 添加了 NSByteCountFormatter 可以帮助您。见developer.apple.com/library/mac///#/library/mac/documentation/…
标签: objective-c cocoa osx-lion