🐈

PersonNameComponentsFormatterの使い方

2022/07/23に公開

PersonNameComponentsFormatter

人の名前をフォーマットしてくれます。

nickname, middleName, namePrefix(Mr.), nameSuffix(Jr.)などの設定もできます。

使い方

let person =  PersonNameComponents(
  namePrefix: "Mr.",
  givenName: "Johnathan",
  middleName: "Maple",
  familyName: "Appleseed",
  nameSuffix: "Jr.",
  nickname: "Johnny"
)

let formatter = PersonNameComponentsFormatter()
formatter.style = .long
print(formatter.string(from: person))
// Mr. Johnathan Maple Appleseed Jr.

Phonetic

PersonNameComponentsにphoneticRepresentation、PersonNameComponentsFormatterにisPhoneticという発音?音声?に関わるプロパティがあるのですが、適切な使い方がわかりません。

ボイスオーバーでも特に自動適用される様子はありませんでした。

難しい読み方などに使うといいのかもしれません。

let formatter = PersonNameComponentsFormatter()

let personName = PersonNameComponents(
  givenName: "烏鵲",
  familyName: "小鳥遊",
  phoneticRepresentation: PersonNameComponents(
    givenName: "うじゃく",
    familyName: "たかなし"
  )
)

formatter.isPhonetic = true
print(formatter.string(from: personName))

formatter.isPhonetic = false
print(formatter.string(from: personName))

// たかなし うじゃく
// 小鳥遊烏鵲

Discussion