Существует ли предел размера сохранению словарей?
Я пытаюсь записать довольно большой словарь приблизительно с 100 ключами с вложенными словарями с помощью writeToFile: но это никогда не пишет и всегда является ложью.
Это ограничение или я делающий что-то неправильное,
Код, который я использую, следующий.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *fullPath = [documentsDir stringByAppendingPathComponent:@"test.plist"];
[myDict writeToFile: fullPath atomically:YES];
Нет ограничений по размеру (за исключением памяти и дискового пространства).
Каково содержимое myDict
?
Если это что-то, кроме небольшого набора классов, разрешенных в списках свойств, то вы не можете использовать writeToFile: атомарно:
.
Либо вам нужно ограничить свой словарь только содержащими экземпляры этих классов , либо , вам нужно будет использовать другой метод архивирования.
В частности, многие библиотеки JSON будут извергать экземпляры NSNULL
в коллекции. Их нельзя заархивировать. Вам нужно либо отредактировать их, либо заменить объектами, которые можно заархивировать.
Актуально: