我正在尝试将某些内容存储在我的iPad应用上的Caches文件夹中。
NSArray* cachePathArray = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString* cachePath = [cachePathArray lastObject];
当我打印出返回的文件路径时,我得到:
/ Users / Gela / Library / Application Support / iPhone 模拟器/ 5.0 /应用/ 3FF7EB1A-49A9-4B13-ADC4-DF0662BA724B /库/缓存
但是,当我导航到硬盘上的该文件夹时,“缓存”不是文件夹,而是模糊的“文档”文件。
任何想法为什么它不是文件夹以及我如何写入我的缓存?
答案 0 :(得分:13)
也许Simulator
没有Caches
目录。你在设备上试试这个......
您可以像这样访问Caches
目录。我用这种方法获取文件数据......
- (NSString *)getFileData: (NSString *)fileDirPath
{
NSArray *myPathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *myPath = [myPathList objectAtIndex:0];
NSError *err = nil;
NSString *fData = @"";
myPath = [myPath stringByAppendingPathComponent:fileDirPath];
if([[NSFileManager defaultManager] fileExistsAtPath:myPath])
{
fData = [NSString stringWithContentsOfFile:myPath encoding:NSUTF8StringEncoding error:&err];
if(err) NSLog(@"getFileData() - ERROR: %@",[err localizedDescription]);
}
else
{
NSLog(@"getFileData() - ERROR: This file '%@' does not exist",myPath);
}
return fData;
}