0

可能重复:
为什么来自 NSFileSystemFreeSize 的值与 iOS 设置中报告的可用大小不同?

我有这个代码:

NSError *error = nil;
NSString *outputDirectory = @"/Users/myuser/Desktop"

NSDictionary *fileSystemAttributes =
 [fileManager attributesOfFileSystemForPath:outputDirectory error:&error];

if (!error) {

    uint64_t freeSpace = (uint64_t)[fileSystemAttributes objectForKey:NSFileSystemFreeSize];

    NSLog(@"Free space in bytes: %lld.",freeSpace);
}

当我执行代码时,它给了我大约 45 TB 的可用空间,这是完全错误的!

我试过了

outputDirectory = @"/";

但它也失败了。

我错过了什么吗?感谢您的时间。

4

1 回答 1

3

从文档中:

NSFileSystemFreeSize文件系统属性字典中的键,其值指示文件系统上的可用空间量。对应的值是一个NSNumber对象

您应该将您从中获得的对象分配objectForKey:给一个NSNumber变量,然后从中提取您想要使用的任何原始值 ( freeSpace)。

于 2012-12-16T18:49:09.443 回答