---
title: "init(_:)"
framework: foundation
role: symbol
role_heading: Initializer
path: "foundation/personnamecomponents/init(_:)"
---

# init(_:)

Creates a person name components object from a given string.

## Declaration

```swift
init(_ value: String) throws
```

## Parameters

- `value`: A string to parse into name components.

## Discussion

Discussion This initializer uses a combination of locale rules and heuristics to determine the most likely name components for a particular string representation. Parsing name components from a representation created for an existing name components object may not produce equivalent results. important: Only names using Latin or CJK scripts are supported. Here are some general rules that describe the name component parsing behavior: Names in Latin script have components delimited by whitespace. The format style parses names with a single delimited component into their most likely name component. Names in Latin script with more than two delimited components may include middle components in the givenName, middleName, or familyName name components. The format style may parse names in inverted Latin script into components in a different order than they appear. Inverted names in CJK script won’t typically produce the correct results. Names in Latin script may use a comma to indicate name inversion. Names in Latin script have capitalization preserved between string representation and parsed components. The format style ignores text between parentheses or brackets, as well as extraneous characters in names.  |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |   |  |  |  |  |

## See Also

### Parsing Person Name Components

- [init(_:strategy:)](foundation/personnamecomponents/init(_:strategy:).md)
- [parseStrategy](foundation/personnamecomponents/formatstyle/parsestrategy.md)
