NSFileManager をいじって、ディレクトリから大量のファイル (~200,000) のリストを取得しています。
利用可能な両方の方法で:
- (NSArray *)contentsOfDirectoryAtURL:(NSURL *)url includingPropertiesForKeys:(NSArray *)keys options:(NSDirectoryEnumerationOptions)mask error:(NSError **)error
と:
- (NSDirectoryEnumerator *)enumeratorAtURL:(NSURL *)url includingPropertiesForKeys:(NSArray *)keys options:(NSDirectoryEnumerationOptions)mask errorHandler:(BOOL (^)(NSURL *url, NSError *error))handler
事前にキャッシュする必要があるもののキー (PropertiesForKeys: を含む) を指定する部分があります。ただし、私が気付いたのは、そのパラメーターに nilを提供するか、必要なキーを提供するかどうかにまったく違いがないことです。つまり、 @[NSURLContentModificationDateKey, NSURLFileSizeKey]
実行速度に差はなく、メモリ消費量にも差はありません(両方の方法で)
誰かがこれについて経験がありますか?そのパラメータの目的は何ですか?