🐈

PersonNameComponentsFormatterの使い方

2022/07/22に公開

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 phoneticPerson = PersonNameComponents(givenName: "うじゃく",familyName: "たかなし")
let person = PersonNameComponents(givenName: "烏鵲", familyName: "小鳥遊", phoneticRepresentation: phoneticPerson)

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

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

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

Discussion

ログインするとコメントできます