Question

I want to store a time of day value using NSUserDefaults and allow the user to update that through the Settings app. Is there a way to store a NSDate object and tell Settings app to use a time picker only?

Was it helpful?

Solution

You can save date to NSUserDefaults. But you cannot add a date picker to settings bundle. There are no options available using this in settings.bundle plist. For more details please check apple documentation

Only options are,

Text field: The text field type displays a title (optional) and an editable text field. You can use this type for preferences that require the user to specify a custom string value. The key for this type is PSTextFieldSpecifier.

Title: The title type displays a read-only string value. You can use this type to display read-only preference values. (If the preference contains cryptic or nonintuitive values, this type lets you map the possible values to custom strings.) The key for this type is PSTitleValueSpecifier.

Toggle switch: The toggle switch type displays an ON/OFF toggle button. You can use this type to configure a preference that can have only one of two values. Although you typically use this type to represent preferences containing Boolean values, you can also use it with preferences containing non-Boolean values. The key for this type is PSToggleSwitchSpecifier.

Slider: The slider type displays a slider control. You can use this type for a preference that represents a range of values. The value for this type is a real number whose minimum and maximum value you specify. The key for this type is PSSliderSpecifier.

Multivalue: The multivalue type lets the user select one value from a list of values. You can use this type for a preference that supports a set of mutually exclusive values. The values can be of any type. The key for this type is PSMultiValueSpecifier.

Group: The group type is for organizing groups of preferences on a single page. The group type does not represent a configurable preference. It simply contains a title string that is displayed immediately before one or more configurable preferences. The key for this type is PSGroupSpecifier.

Child pane: The child pane type lets the user navigate to a new page of preferences. You use this type to implement hierarchical preferences. For more information on how you configure and use this preference type, see “Hierarchical Preferences.” The key for this type is PSChildPaneSpecifier.

In order to save date to userdefaults,

NSDate *currentDate = [NSDate date];
[[NSUserDefaults standardUserDefaults] setObject:currentDate forKey:@"dateKey"];
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top