NSUserDefaults objectIsForcedForKey 与嵌套字典
Posted
技术标签:
【中文标题】NSUserDefaults objectIsForcedForKey 与嵌套字典【英文标题】:NSUserDefaults objectIsForcedForKey with a nested dictionary 【发布时间】:2017-08-24 21:26:46 【问题描述】:目前我正在使用[[NSUserDefaults standardDefaults] objectIsForcedForKey: @"TestKey"];
来验证密钥是否被管理。
这对于在列表中包含每个键的 plist 非常有用
<plist version="1.0">
<dict>
<key>Test</key>
<integer>1</integer>
</dict>
</plist>
但是当我使用嵌套字典时 - 函数似乎看不到对象正在被管理
<plist version="1.0">
<dict>
<key>TestKey1</key>
<integer>1</integer>
<dict>
<key>Dictionary2</key>
<dict>
<key>TestKey3</key>
<string>testkey3_value</string>
</dict>
</dict>
</dict>
</plist>
当我尝试做类似[[NSUserDefaults standardDefaults] objectIsForcedForKey: @"TestKey3"];
的事情时,它似乎没有意识到它正在被管理
【问题讨论】:
【参考方案1】:您的默认域不包含名为 "TestKey3"
的键。包含该键的字典是您自己的字典,不由NSUserDefaults
管理。因此,NSUserDefaults
的 API 将无法看到“TestKey3”。
【讨论】:
以上是关于NSUserDefaults objectIsForcedForKey 与嵌套字典的主要内容,如果未能解决你的问题,请参考以下文章