Preferences

class Preferences : NSObject

A class to handle app preferences in one single place. When the app starts for the first time the following preferences are set:

  • useCache = true
  • useImperial = whatever is set by current locale (NSLocale.usesMetricUnits) or false
  • tileServer = .apple
  • Shared preferences singleton. Usage: var preferences: Preferences = Preferences.shared print (preferences.useCache)

    Declaration

    Swift

    static let shared: Preferences
  • In memory value of the preference.

    Declaration

    Swift

    private var _useImperial: Bool
  • In memory value of the preference.

    Declaration

    Swift

    private var _useCache: Bool
  • In memory value of the preference.

    Declaration

    Swift

    private var _tileServer: GPXTileServer
  • In memory value of the preference.

    Declaration

    Swift

    private var _activityType: CLActivityType
  • Declaration

    Swift

    private var _dateFormat: String
  • Declaration

    Swift

    private var _dateFormatInput: String
  • Declaration

    Swift

    private var _dateFormatPreset: Int
  • Declaration

    Swift

    private var _dateFormatUseUTC: Bool
  • Declaration

    Swift

    private var _dateFormatUseEN: Bool
  • Declaration

    Swift

    private var _gpxFilesFolderBookmark: Data?
  • UserDefaults.standard shortcut

    Declaration

    Swift

    private let defaults: UserDefaults
  • Loads preferences from UserDefaults.

    Declaration

    Swift

    private override init()
  • If true, user prefers to display imperial units (miles, feets). Otherwise metric units are displayed.

    Declaration

    Swift

    var useImperial: Bool { get set }
  • Gets and sets if user wants to use offline cache.

    Declaration

    Swift

    var useCache: Bool { get set }
  • Gets and sets user preference of the map tile server.

    Declaration

    Swift

    var tileServer: GPXTileServer { get set }
  • Get and sets user preference of the map tile server as Int.

    Declaration

    Swift

    var tileServerInt: Int { get set }
  • Gets and sets the type of activity preference

    Declaration

    Swift

    var locationActivityType: CLActivityType { get set }
  • Gets and sets the activity type as its int value

    Declaration

    Swift

    var locationActivityTypeInt: Int { get set }
  • Gets and sets the date formatter friendly date format

    Declaration

    Swift

    var dateFormat: String { get set }
  • Gets and sets the user friendly input date format

    Declaration

    Swift

    var dateFormatInput: String { get set }
  • Get and sets user preference of date format presets. (-1 if custom)

    Declaration

    Swift

    var dateFormatPreset: Int { get set }
  • Get date format preset name

    Declaration

    Swift

    var dateFormatPresetName: String { get }
  • Get and sets whether to use UTC for date format

    Declaration

    Swift

    var dateFormatUseUTC: Bool { get set }
  • Get and sets whether to use local locale or EN

    Declaration

    Swift

    var dateFormatUseEN: Bool { get set }
  • Declaration

    Swift

    var gpxFilesFolderURL: URL? { get set }