У меня есть кеш в памяти, который я хотел бы записать в файл на viewWillDisappear
и прочитать обратно в память на viewDidLoad
. Мой код:Запись/чтение NSData для отказа файла
- (void)viewDidLoad
{
[super viewDidLoad];
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSArray *fileArray = [fileManager URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask];
NSString *filePath = [NSString stringWithFormat:@"%@cache_%d", [fileArray lastObject], self.index];
NSURL *fileUrl = [NSURL URLWithString:filePath];
if ([fileManager fileExistsAtPath:filePath]) {
self.thumbnailsCache = [NSDictionary dictionaryWithContentsOfURL:fileUrl];
}
}
- (void)viewWillDisappear:(BOOL)animated
{
NSFileManager *fileManager = [[NSFileManager alloc] init];
NSArray *fileArray = [fileManager URLsForDirectory:NSCachesDirectory inDomains:NSUserDomainMask];
NSString *filePath = [NSString stringWithFormat:@"%@cache_%d", [fileArray lastObject], self.index];
NSURL *fileUrl = [NSURL URLWithString:filePath];
[self.thumbnailsCache writeToURL:fileUrl atomically:YES];
}
Основываясь на некоторых NSLog и отладки, кажется, записать файл успешно, но при попытке прочитать это просто говорит файл не найден. Что я делаю не так? Благодарю.
Редактировать: self.thumbnailsCache
NSDictionary
NSData
объектов.
вы просто проверить файл в каталоге кэша документов в искателе – Bala