保存词典有大小限制吗?
我正在尝试使用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/