Получить все диакритические знаки для данного персонажа в Swift?

Как я могу получить строку или массив, состоящий из всех диакритических знаков для данного символа в swift?

Спасибо майкл

1 ответ

Решение

Стандарт Unicode определяет 112 общих диакритических знаков, каждый из которых может сочетаться с каждым символом a - z (и их заглавные буквы):

let characters = Array("abcdefghijklmnopqrstuvwxyz".characters)

for char in characters {
    for i in 0x0300...0x036F {
        let diacritic = UnicodeScalar(i)
        var str = String(char)
        str.append(diacritic)

        print(str, terminator: " ")
    }
    print()
}

То, что вы видите на клавиатуре iPhone, - это определенное количество диакритических знаков, которые Apple выбрала для каждого символа, возможно, в зависимости от языка клавиатуры. Вам придется сделать то же самое, если вы не хотите перегружать своих пользователей выбором.

Другие вопросы по тегам