Skip to content

Protocol

ParseStrategy

iOS 15.0+ iPadOS 15.0+ Mac Catalyst 15.0+ macOS 12.0+ tvOS 15.0+ watchOS 8.0+
A type that parses an input representation, such as a formatted string, into a provided data type.
protocol ParseStrategy : Decodable, Encodable, Hashable

Overview

A ParseStrategy allows you to convert a formatted representation into a data type, using one of two approaches:

  • Initialize the data type by calling an initializer of that type that takes a formatted instance and a parse strategy as parameters. For example, you can create a Decimal from a formatted string with the initializer Decimal/init(_:format:lenient:)-6fk71.

  • Create a parse strategy and call its parse(_:) method on one or more formatted instances.

ParseStrategy is closely related to FormatStyle, which provides the opposite conversion: from data type to formatted representation. To use a parse strategy, you create a FormatStyle to define the representation you expect, then access the style’s parseStrategy property to get a strategy instance.

The following example creates a Decimal.FormatStyle.Currency format style that uses US dollars and US English number-formatting conventions. It then creates a Decimal instance by providing a formatted string to parse and the format style’s parseStrategy.

let style = Decimal.FormatStyle.Currency(code: "USD",
locale: Locale(identifier: "en_US"))
let parsed = try? Decimal("$12,345.67",
strategy: style.parseStrategy) // 12345.67

Topics

Associated Types

Instance Methods

Type Properties

Type Methods

Relationships

Inherits From

  • Swift.Decodable
  • Swift.Encodable
  • Swift.Equatable
  • Swift.Hashable

Conforming Types