Я пытаюсь записать данные в мой plist
файл, который был создан в Library/Caches
в песочнице моего приложения, с помощью следующего метода пользовательских хелперов:Не удался записать мои пользовательский словарь данных в PLIST файл
-(void)saveStatusesToPlist:(NSArray *)array
{
NSDictionary *dict = @{@"data": array};
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *cachesDirectory = [paths objectAtIndex:0];
NSString *plistPath = [cachesDirectory stringByAppendingPathComponent:filepath];
NSLog(@"PATH: %@", plistPath);
NSFileManager *manager = [NSFileManager defaultManager];
if (![manager fileExistsAtPath:plistPath]) {
BOOL isCreated = [manager createFileAtPath:plistPath contents:nil attributes:nil];
NSLog(@"Result:%@", isCreated? @"Success": @"Failed");
}
BOOL flag = [dict writeToFile:plistPath atomically:YES];
NSLog(@"Write result:%@", flag? @"Success": @"Failed");
}
Пожалуйста, обратите внимание что параметр: array
представляет собой массив из многих объектов NSDictionary
, преобразованных из данных JSON
, которые были получены с серверной стороны по сети.
UPDATE: я получил массив как это:
NSArray *array = [result objectForKey:@"array"];
Но результат был всегда проваливались.
Итак, я сомневался, что проблема связана с array
, которая может содержать недопустимые данные. Затем я попробовал hardcode array
, чтобы найти @[@"key1": @"value1", @"key2": @"value2", @"key3": @"value3"]
.
С твердыми данными данные flag
возвращают YES
, что означает, что оно было сохранено.
Так что, по крайней мере, я могу сказать, что мои извлеченные данные имеют некоторые проблемы, но я не знаю, где это.
UPDATE: Вот мой словарь данных, который является очень большим:
Я могу вставить один из экземпляров моей модели в словарь здесь, если необходимо – Boris
Он отлично работает в моем проекте ... Я попытался написать свой собственный json-массив ... Не могли бы вы вставить одну из своих моделей? – Che
@Che мой один словарь довольно большой, который содержит много объектов, поэтому я вставляю скриншоты здесь ... – Boris