NSFileManager
のメソッドを使用してenumeratorAtPath
、特定のディレクトリの下のファイルサイズを計算しています。
NSString *iterDir = @"/path/to/dir/";
NSFileManager *fm = [[NSFileManager alloc] init];
NSDirectoryEnumerator *dirEnum = [fm enumeratorAtPath:iterDir];
NSString *file;
BOOL isDir;
long long fileSize = 0;
while (file = [dirEnum nextObject]) {
@autoreleasepool {
file = [iterDir stringByAppendingString:file];
if ([fm fileExistsAtPath:file isDirectory:&isDir]) {
if (!isDir) {
NSError *error;
NSDictionary *attributes = [fm attributesOfItemAtPath:file error:&error];
if (!error) {
fileSize += [attributes[@"NSFileSize"] doubleValue];
}
}
}
}
}
NSLog(@"fileSize:%lld", fileSize);
結果は次のようになります。
時々このように:
メモリは何に使われていますか?@autoreleasepool
なぜ外部に追加しても効果がないのですか?