2016-03-12 142 views
3

我知道NSUserDefaults不適合存儲大量數據,但我不知道實際限制是多少。這讓我想...我可以在NSUserDefaults中存儲多少數據?

1.是否有建議的尺寸限制?

2.有沒有辦法看到我要存儲的數據的大小?

在這種情況下,我正在考慮使用NSUserDefaults來存儲字符串數組。

回答

5

它出現的限制是針對iOS(邏輯)的最大文件大小,這是目前4GB:https://discussions.apple.com/thread/1763096?tstart=0 。數據的精確大小由編譯器類型(NSData,NSString等)或資產包中的文件限制。

我確定在某處有Swift類型的低級文檔,但是您需要自己發現它。 :)

我還沒有重定向到另一個答案,因爲類似的問題也表明,限制是設備的大小。

請注意,NSUserDefaults被認爲對大文件有害,因爲所有默認值在應用程序啓動時立即加載。訪問時間會很慢,性能會受到影響。考慮爲大型文件使用結構化存儲介質,如Core Data,CloudKit或SQLite。

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreData/nsfetchedresultscontroller.html#//apple_ref/doc/uid/TP40001075-CH8-SW1

https://developer.apple.com/icloud/

http://www.appcoda.com/sqlite-database-ios-app-tutorial/

1

我認爲只要你的設備上有足夠的空間,你可以存儲你想要的所有數據...設備是限制。

NSUserDefaults值存儲到一個.plist文件:

看到這個職位知道在哪裏:Get NSUserDefaults plist file from device

相關問題