我在应用程序的设置包中定义了一个多值设置(位置)。
标题被定义为长标题,例如“伦敦”,并且设置的相应值部分被定义为"1“。
编辑
为了展开这个问题,我将添加有关多值设置的更多信息:
如何在项目0处检索伦敦的标题。如上所述,当我检索objectForKey或valueForKey时,我总是得到1。我希望在应用程序的标签中显示标题中的字符串"LONDON“,但在核心数据中使用值1。注意:在应用程序运行之前,我已经在设置中设置了值,所以它确实返回了一个值,但值始终是1,因为标题似乎无法访问。
发布于 2013-07-25 23:24:21
您应该将"Default Value“值设置为"1”-仅设置"Values“列表中的0项。
发布于 2017-03-29 22:14:33
我遇到了类似的情况,并回答了一个问题,那就是它会帮助别人。
如果我正确理解了这个问题,当用户从设置中选择伦敦时,默认值将是1。当你读取locationSetting的设置包时,你得到的值是1,而不是伦敦,但你想在你的代码中使用“伦敦”而不是1。将缺省值设置为字典而不是字符串,这样就可以在该字典中同时包含标题和值。然后,您可以检索选定值的文本。
发布于 2015-02-20 03:52:41
位置设置作为多值,是一个NSDictionary。因此,请执行以下操作:
NSDictionary *location = [[NSUserDefaults standardUserDefaults] valueForKey:@"locationSettings"];
NSString *value = (NSString *)location;
将位置值强制转换为NSString,因为您知道要返回一个字符串。
然后,您可以将结果作为字符串进行处理。返回的" value“变量是在value部分中写入的内容。在本例中,如果选择"London",将以字符串的形式返回"1“值。
https://stackoverflow.com/questions/16451136
复制相似问题