有没有办法直接看到什么被保存到NSUserDefaults ?我想看看我的数据保存是否正确。


当前回答

很简单,因为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,只需在路径上单击命令打开它。

其他回答

很简单,因为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,只需在路径上单击命令打开它。

使用下面的代码。

NSLog(@"NSUserDefault: %@", [[NSUserDefaults standardUserDefaults] dictionaryRepresentation]);

在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)

您可以使用它来获得用户首选项、缓存和许多其他数据的完整路径

print (NSSearchPathForDirectoriesInDomains(。文件目录。

在模拟器中运行时,我有时会使用下面的代码片段打印出NSUserDefaults文件的位置

NSArray *path = NSSearchPathForDirectoriesInDomains(
   NSLibraryDirectory, NSUserDomainMask, YES);
NSString *folder = [path objectAtIndex:0];
NSLog(@"Your NSUserDefaults are stored in this folder: %@/Preferences", folder);

它生成首选项文件夹的路径

你的NSUserDefaults保存在这个文件夹:/Users/castle/Library/Application Support/iPhone Simulator/User/Applications/BC5056A0-F46B-4AF1-A6DC-3A7DAB984960/Library/Preferences

您的NSUserDefaults文件位于首选项文件夹中,并根据您的前缀和应用程序名称命名。

dk.castleandersen.dreamteam.grid.plist

我希望对于实际的设备也是如此。