Contents

ParseStrategy

A type that parses an input representation, such as a formatted string, into a provided data type.

Declaration

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 init(_:format:lenient:).

  • 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 Decimal/FormatStyle/Currency/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

Performing parsing

Commonly-used parsers

Commonly-used format styles

Supporting types

Type Properties

See Also

Data parsing in Swift