1

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

4

5 回答 5

2

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

于 2013-11-13T04:26:46.597 回答
2

Users/username/Library/Application Support/iPhone Simulator/5.0/Applications/你的应用唯一id/Library/com.appname

NSUserDefaults这是使用 Simulator 时存储data() 的路径。

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

于 2013-11-13T04:32:15.767 回答
1

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

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

于 2013-11-13T06:07:09.857 回答
1

NSUserDefaults 的物理位置是:

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

有关更多信息,请参阅:

NSUserDefaults 类参考

于 2013-11-13T04:28:42.190 回答
0

这里给大家分享一下代码,在viewDidLoad里写下来,就可以得到路径了。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSLog(@"%@",paths);
于 2016-07-07T13:09:39.973 回答