gpt4 book ai didi

iphone - 多值类型设置捆绑字段始终返回 null

转载 作者:行者123 更新时间:2023-12-03 18:37:27 25 4
gpt4 key购买 nike

首次启动应用程序时,我在从设置包中检索默认值时遇到问题。所有非多值字段均正确返回默认值。所有多值字段都返回 NULL。我用来检索当前值的代码:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *upt=[defaults objectForKey:@"upthreshold"];

Root.plist 的相关部分是:

                <dict>
<key>Title</key>
<string>Update Threshold</string>
<key>Type</key>
<string>PSMultiValueSpecifier</string>
<key>Key</key>
<string>upthreshold</string>
<key>DefaultValue</key>
<string>15</string>
<key>Titles</key>
<array>
<string>2 km</string>
<string>5 km</string>
<string>10 km</string>
<string>15 km</string>
<string>25 km</string>
<string>50 km</string>
<string>75 km</string>
<string>100 km</string>
<string>150 km</string>
<string>250 km</string>
<string>500 km</string>
<string>1000 km</string>
</array>
<key>Values</key>
<array>
<string>2</string>
<string>5</string>
<string>10</string>
<string>15</string>
<string>25</string>
<string>50</string>
<string>75</string>
<string>100</string>
<string>150</string>
<string>250</string>
<string>500</string>
<string>1000</string>
</array>
</dict>

我希望“15”会作为当前值返回,因为它被设置为默认值。多值字段是否需要一些不同的处理?正如我之前所说,在此之前有 6 个字段可以正确返回其值。此字段和以下 2 个多值字段没有。多值字段的定义都相同。

最佳答案

如果用户未在设置应用中更改该值,则没有设置。设置包中指定的默认值仅是设置应用程序中显示的默认值

您必须手动注册默认值。 NSUserdefaults 不使用设置包中的默认值。
使用类似的内容,将其添加到应用程序的开头(在访问用户默认值之前)。
注册的用户默认值不会保存到磁盘或任何其他位置。每次启动应用程序时都必须注册它们。

NSDictionary *userDefaultsDefaults = [NSDictionary dictionaryWithObjectsAndKeys:
@"15", @"upthreshold",
nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:userDefaultsDefaults];

关于iphone - 多值类型设置捆绑字段始终返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4784171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com