NSDictionary writeToFile

Существует ли предел размера сохранению словарей?

Я пытаюсь записать довольно большой словарь приблизительно с 100 ключами с вложенными словарями с помощью writeToFile: но это никогда не пишет и всегда является ложью.

Это ограничение или я делающий что-то неправильное,

Код, который я использую, следующий.

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory , NSUserDomainMask, YES);
NSString *documentsDir = [paths objectAtIndex:0];
NSString *fullPath = [documentsDir stringByAppendingPathComponent:@"test.plist"];   

[myDict writeToFile: fullPath  atomically:YES];
9
задан jodm 11 August 2010 в 15:26
поделиться

1 ответ

Нет ограничений по размеру (за исключением памяти и дискового пространства).

Каково содержимое myDict ?

Если это что-то, кроме небольшого набора классов, разрешенных в списках свойств, то вы не можете использовать writeToFile: атомарно: .

Либо вам нужно ограничить свой словарь только содержащими экземпляры этих классов , либо , вам нужно будет использовать другой метод архивирования.

В частности, многие библиотеки JSON будут извергать экземпляры NSNULL в коллекции. Их нельзя заархивировать. Вам нужно либо отредактировать их, либо заменить объектами, которые можно заархивировать.

Актуально:

http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/PropertyLists/Introduction/Introduction.html

http://developer.apple.com/mac /library/documentation/Cocoa/Conceptual/Archiving/Archiving.html#//apple_ref/doc/uid/10000047i

12
ответ дан 4 December 2019 в 06:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: