NSUserDefaults在iOS应用程序中存储数据的位置。 在应用程序中分配许多NSUserDefaults变量是一种很好的编程习惯吗?或者它会导致任何内存管理问题。当这个变量被释放时。?
答案 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
有关详细信息,请参阅:
答案 4 :(得分:0)
在这里我分享你的代码,在viewDidLoad中写下,你可以获得Path。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSLog(@"%@",paths);