我知道NSUserDefaults
并不适合存储大量数据,但我不知道实际限制是多少。这让我想到了......
1。是否有推荐的尺寸限制?
2。有没有办法查看我存储的数据的大小?
在这种情况下,我考虑使用NSUserDefaults
来存储字符串数组。
答案 0 :(得分:7)
似乎限制是iOS的最大文件大小(逻辑上),目前为4GB:https://discussions.apple.com/thread/1763096?tstart=0。数据的精确大小由编译器类型(NSData,NSString等)或资产包中的文件限定。
我确信某处有关于Swift类型的低级文档 - 但您需要自己发现它。 :)
我没有重定向到另一个答案,因为类似的问题也表明限制是设备大小。
请注意,NSUserDefaults被认为对大文件有害,因为所有默认值都会在应用程序启动时立即加载。访问时间会很慢,性能会受到影响。考虑对大型文件使用结构化存储介质,如Core Data,CloudKit或SQLite。
答案 1 :(得分:1)
我认为只要您的设备上有足够的空间,您就可以存储您想要的所有数据......设备是限制。
NSUserDefaults
值存储在.plist
文件中:
请参阅此帖子,了解其中:Get NSUserDefaults plist file from device