【发布时间】:2013-11-07 19:32:40
【问题描述】:
我可能在这里遗漏了一些非常明显的东西,但是:
NSError *error;
NSURL *cachesDirectory = [[NSFileManager defaultManager] URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask][0];
NSLog(@"Caches directory: %@", cachesDirectory);
NSURL *tmpDirectory = [[NSFileManager defaultManager] URLForDirectory:NSItemReplacementDirectory inDomain:NSUserDomainMask appropriateForURL:cachesDirectory create:YES error:&error];
NSLog(@"TMP directory: %@", tmpDirectory);
// Result:
// 2013-10-28 13:37:47.972 MyApp[220:907] Caches directory: file://localhost/var/mobile/Applications/029A4948-A67A-48E5-A35F-1BBCC744E9B0/Library/Caches/
// 2013-10-28 13:37:47.976 MyApp[220:907] TMP directory: file://localhost/var/mobile/Applications/029A4948-A67A-48E5-A35F-1BBCC744E9B0/Library/(A%20Document%20Being%20Saved%20By%20MyApp%2011)/
我希望在缓存目录中创建我的临时目录。来自文档:
您还可以使用此方法创建一个新的临时目录来存储自动保存文件等内容;为此,请为目录参数指定 NSItemReplacementDirectory,为域参数指定 NSUserDomainMask,为 url 参数指定有效的父目录。定位(或创建)所需目录后,此方法返回该目录的 URL。
还有url的定义:
您要在其中创建唯一临时目录以用于自动保存文档或其他用途的目录的名称。除非 directory 参数包含值 NSItemReplacementDirectory 并且 domain 参数包含值 NSUserDomainMask,否则此参数将被忽略。创建临时目录时,会忽略 shouldCreate 参数,始终创建目录。
您可以看到我的临时目录正在Library 中创建。我做错了什么?
【问题讨论】:
标签: ios cocoa-touch nsfilemanager