iOSのNSFileManagerについて
NSFileManager API Reference
NSFileManager - Foundation | Apple Developer Documentation
なぜNSFileManagerが気になるか
SDWebImageのソースコードを読んでいたらキャッシュの保存場所が2つあった。MemoryとDiscだ。Memoryにキャッシュを保存する場合はNSCacheというクラスを用いて保存している。Diskに保存する場合はNSFileManagerというクラスを使用していた。2つの違いが知りたい。
NSFileManagerの概要
ファイルやディレクトリの作成、保存、削除、移動、コピーなどをの操作を担うクラス。
ファイルの操作は並列処理により行われる
https://developer.apple.com/jp/documentation/FileSystemProgrammingGuide.pdf
ファイル関連の操作にはハーディクスとの相互作用が伴い、ほかの大半の操作よりも速度が遅くなるため、iOSのファイル関連の大半のインタフェースは並列処理を前提に設計されいます。
確かに、SDWebImageのソースコードを見るとNSFileManagerを使ってディスクに書き込む処理は非同期で行われている。
より SDWebImage/SDImageCache.m at master · rs/SDWebImage · GitHub