NSUserDefaults在iOS中存储数据的位置是什么?

时间:2013-11-13 04:24:34

标签: ios objective-c nsuserdefaults

NSUserDefaults在iOS应用程序中存储数据的位置。 在应用程序中分配许多NSUserDefaults变量是一种很好的编程习惯吗?或者它会导致任何内存管理问题。当这个变量被释放时。?

5 个答案:

答案 0 :(得分:1)

它存储在设备的目录结构中。我使用NSUSerDefaults存储不需要非常安全的变量,如用户名,地址等。要获得更安全的信息(例如:密码),您可以使用钥匙串存储信息。

答案 1 :(得分:1)

  

用户/用户名/库/应用程序支持/ iPhone   模拟器/ 5.0 /应用程序/您的应用程序唯一ID / Library / com.appname

这是使用模拟器时存储数据(NSUserDefaults)的路径。

从设备中删除应用时,NSUserDefaults中的数据将被删除。

答案 2 :(得分:1)

它始终优先使用NSUserDefaults来存储应用程序的用户特定首选项。值以plist格式存储在设备上。您无需担心为NSUserdefault存储的数据释放内存。一旦调用[[NSUserdefaults ..] synchronize]方法,它们就会与plist同步。

您唯一需要担心的是,不要使用NSUserDefaults来存储密码等敏感信息。因为可以通过直接将设备连接到mac并使用第三方软件访问应用程序空间(沙箱)来访问此plist。

答案 3 :(得分:0)

NSUserDefault的物理位置是:

 /Library/Preferences/com.yourcompany.appName.plist 

有关详细信息,请参阅:

NSUserDefault class reference

答案 4 :(得分:0)

在这里我分享你的代码,在viewDidLoad中写下,你可以获得Path。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSLog(@"%@",paths);