1
有沒有人有一個例程來將NSFileSystemFreeSize的結果轉換爲可用的mb/gb的用戶友好字符串。我認爲我有這個要點,但我得到的結果很奇怪。NSFileSystemFreeSize:將結果轉換爲用戶友好的mb/gb顯示?
- (NSString*)getFreeSpace
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSDictionary* fileAttributes = [[NSFileManager defaultManager] attributesOfFileSystemForPath:documentsDirectory error:NULL];
unsigned long long freeSpaceInBytes = [[fileAttributes objectForKey:NSFileSystemFreeSize] unsignedLongLongValue];
NSString * space = [NSString stringWithFormat:@"Free Space: %fll", freeSpaceInBytes /1024./1024. /1024.];
NSLog(@"freeSpaceInBytes %llull %fll", freeSpaceInBytes, freeSpaceInBytes /1024./1024. /1024.);
return space;
}
這就是甜!謝謝。我永遠不會想出如此優雅的東西。 – 2012-04-10 22:01:33
嘿,我是新來的Objective-C,我想知道如何登錄這個NSString。的NSLog(@ 「%@」,prettyBytes);不工作'Format指定類型'id',但參數的類型爲'NSString *(*)(uint64_t)''。 – iDev 2014-07-25 10:04:59
你正在發送它的功能本身。你需要調用它的東西......'NSLog(@「%@」,prettyBytes(someNumberOfBytes))' – 2014-07-26 02:23:49