保存词典有大小限制吗?

我正在尝试使用writeToFile用嵌套字典编写一个约有100个键的相当大的字典:但是它从不写入,并且始终为false。

这是一个限制还是我做错了什么,

我使用的代码如下。

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

[myDict writeToFile: fullPath  atomically:YES];

最佳答案

没有大小限制(节省内存和磁盘空间)。
myDict的内容是什么?

如果除了属性列表中允许的一小类类之外,则不能使用writeToFile:atomically:

您可能需要将字典限制为仅包含这些类的实例,或者您需要使用其他归档方法。

特别是,许多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

关于objective-c - NSDictionary writeToFile,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3460016/

10-10 20:45