2

我想使用 NSUserDefaults 存储一天中的时间值,并允许用户通过设置应用程序更新它。有没有办法存储 NSDate 对象并告诉设置应用程序只使用时间选择器?

4

1 回答 1

3

您可以将日期保存到NSUserDefaults. 但是您不能将日期选择器添加到设置包。在 settings.bundle plist 中没有可用的选项。有关更多详细信息,请查看苹果文档

唯一的选择是,

文本字段:文本字段类型显示标题(可选)和可编辑的文本字段。您可以将此类型用于需要用户指定自定义字符串值的首选项。这种类型的关键是PSTextFieldSpecifier

标题:标题类型显示只读字符串值。您可以使用此类型显示只读首选项值。(如果首选项包含神秘或不直观的值,则此类型允许您将可能的值映射到自定义字符串。)此类型的键是PSTitleValueSpecifier

拨动开关:拨动开关类型显示开/关切换按钮。您可以使用此类型来配置只能具有两个值之一的首选项。尽管您通常使用此类型来表示包含布尔值的首选项,但您也可以将其与包含非布尔值的首选项一起使用。这种类型的关键是PSToggleSwitchSpecifier

滑块:滑块类型显示一个滑块控件。您可以将此类型用于表示一系列值的首选项。此类型的值是一个实数,您可以指定其最小值和最大值。这种类型的关键是PSSliderSpecifier

多值:多值类型允许用户从值列表中选择一个值。您可以将此类型用于支持一组互斥值的首选项。这些值可以是任何类型。这种类型的关键是PSMultiValueSpecifier

组:组类型用于在单个页面上组织首选项组。组类型不代表可配置的首选项。它只包含一个标题字符串,该字符串显示在一个或多个可配置首选项之前。这种类型的键是PSGroupSpecifier

子窗格:子窗格类型允许用户导航到新的首选项页面。您使用此类型来实现分层首选项。有关如何配置和使用此首选项类型的更多信息,请参阅“分层首选项”。此类型的键是PSChildPaneSpecifier

为了将日期保存到用户默认值,

NSDate *currentDate = [NSDate date];
[[NSUserDefaults standardUserDefaults] setObject:currentDate forKey:@"dateKey"];
于 2012-11-10T01:19:55.770 回答