有没有办法直接看到什么被保存到NSUserDefaults ?我想看看我的数据保存是否正确。
当前回答
在Swift中,我们可以使用以下功能:-
斯威夫特3。X & 4.x
获取所有键和值:
for (key, value) in UserDefaults.standard.dictionaryRepresentation() {
print("\(key) = \(value) \n")
}
检索用户默认值的完整字典表示:
print(Array(UserDefaults.standard.dictionaryRepresentation()))
检索密钥:
// Using dump since the keys are an array of strings.
dump(Array(UserDefaults.standard.dictionaryRepresentation().keys))
检索值:
我们也可以在这里使用dump,但这将返回values数组中每个元素的完整继承层次结构。如果需要关于对象的更多信息,则使用dump,否则使用正常的print语句。
// dump(Array(UserDefaults.standard.dictionaryRepresentation().values))
print(Array(UserDefaults.standard.dictionaryRepresentation().values))
快2.倍
检索用户默认值的完整字典表示:
print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation())
检索密钥:
print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().keys.array)
检索值:
print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().values.array)
其他回答
很简单,因为plist文件名为<app-bundle-identifier>。Plist,你可以使用find命令找到它的路径。但如果你搜索整台电脑,会花很长时间,所以你必须选择一个好的范围,比如Xcode 6的~/Library/Developer/CoreSimulator。
例子:
查找~/Library/Developer/CoreSimulator -type f -name com.awesome.app.plist
输出将是这样的…
\用户hlung / Library /开发商CoreSimulator / / B61913F6-7D7C-4E45-AE2F-F45220A71823带给您Containers /数据/应用程序/ E4CC51CF-11E5-4168-8A74-6BAE3B89998F / Library / Preferences / com . awesome app。plist
然后你可以使用open命令。或者如果使用iTerm2,只需在路径上单击命令打开它。
在Swift中,我们可以使用以下功能:-
斯威夫特3。X & 4.x
获取所有键和值:
for (key, value) in UserDefaults.standard.dictionaryRepresentation() {
print("\(key) = \(value) \n")
}
检索用户默认值的完整字典表示:
print(Array(UserDefaults.standard.dictionaryRepresentation()))
检索密钥:
// Using dump since the keys are an array of strings.
dump(Array(UserDefaults.standard.dictionaryRepresentation().keys))
检索值:
我们也可以在这里使用dump,但这将返回values数组中每个元素的完整继承层次结构。如果需要关于对象的更多信息,则使用dump,否则使用正常的print语句。
// dump(Array(UserDefaults.standard.dictionaryRepresentation().values))
print(Array(UserDefaults.standard.dictionaryRepresentation().values))
快2.倍
检索用户默认值的完整字典表示:
print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation())
检索密钥:
print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().keys.array)
检索值:
print(NSUserDefaults.standardUserDefaults().dictionaryRepresentation().values.array)
Swift 5 Xcode 11.2解决方案
这是您的UserDefaults键值将在plist文件中的整个路径。跟踪并找到你的应用程序包标识符。plist文件。
/Users/'您的用户名'/Library/Developer/CoreSimulator/Devices/4176EED3-B9FC-4C77-A25E-ASD201B9FDFG2/data/Containers/ data/ Application/56D7CE31-9A8B-4371-9B0F-9604E239423B0/Library/Preferences
这里的“4176EED3-B9FC-4C77-A25E-ASD201B9FDFG2”是您的设备ID
“56D7CE31-9A8B-4371-9B0F-9604E239423B0”是您的申请ID
我通常通过在查找器中根据最近修改的日期对文件夹进行排序来获得它们。最近编辑的文件夹是我的设备ID和应用ID。
享受吧!
您可以使用它来获得用户首选项、缓存和许多其他数据的完整路径
print (NSSearchPathForDirectoriesInDomains(。文件目录。
我根据Morion的建议构建了这个方法,以便更好地呈现。通过调用[self logAllUserDefaults]使用它
- (void) logAllUserDefaults
{
NSArray *keys = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allKeys];
NSArray *values = [[[NSUserDefaults standardUserDefaults] dictionaryRepresentation] allValues];
for (int i = 0; i < keys.count; i++) {
NSLog(@"%@: %@", [keys objectAtIndex:i], [values objectAtIndex:i]);
}
}
推荐文章
- 如何删除默认的导航栏空间在SwiftUI导航视图
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 为什么在Mac OS X v10.9 (Mavericks)的终端中apt-get功能不起作用?
- 如何在iOS中使用Swift编程segue
- Swift -整数转换为小时/分钟/秒
- Swift:声明一个空字典
- “你有邮件”的消息在终端,os X
- 为什么ARC仍然需要@autoreleasepool ?
- Mac OS X中的环境变量
- 在成功提交我的应用程序后,“太多符号文件”
- 首先添加一个UIView,甚至是导航栏
- 我如何改变UIButton标题颜色?
- 如何从macOS完全卸载蟒蛇
- 在Swift中如何调用GCD主线程上的参数方法?
- NSLayoutConstraints是可动画的吗?