Программирование
Множественное число в текстовых представлениях SwiftUI с помощью склонения
Эта интеграция делает работу с множественным числом в SwiftUI простой и эффективной.
В фреймворке Foundation есть функция автоматического согласования грамматики, которая позволяет сократить количество строк локализации и упростить код. Она обеспечивает соблюдение в тексте таких грамматических правил, как множественное число и род. Она легко сочетается со SwiftUI, позволяя нам обрабатывать множественное число непосредственно в текстовых представлениях без написания лишней логики.
Чтобы текст автоматически подстраивался под значения множественного числа, мы можем указать, что хотим, чтобы он использовал правило склонения, и определить область применения склонения, используя следующий синтаксис:
Text("You read ^[\(bookCount) book](inflect: true) this year!")
SwiftUI распознает этот синтаксис как пользовательский атрибут Markdown и обрабатывает его соответствующим образом. Когда создается представление Text со строковым литералом, как показано в примере выше, SwiftUI рассматривает строку как LocalizedStringKey и анализирует содержащуюся в ней разметку. Он определяет атрибуты склонения в строке и использует функцию автоматического согласования грамматики из Foundation для внесения необходимых корректировок во время рендеринга.
Вот как это будет выглядеть в полном представлении SwiftUI:
xxxxxxxxxx
struct BookReadingTracker: View {
@State private var bookCount: Int = 0
var body: some View {
VStack(spacing: 16) {
Text("""
You read ^[\(bookCount) book](inflect: true) this year!
""")
Button("Add a book") {
bookCount += 1
}
}
}
}
В этом примере нажатие на кнопку увеличивает значение bookCount
, и текст обновляется автоматически. Когда значение bookCount
равно 1, используется форма единственного числа book. При увеличении значения, например до 2 или выше, текст динамически переключается на форму множественного числа, обеспечивая грамматическую правильность.
Эта интеграция делает работу с множественным числом в SwiftUI простой и эффективной. Функция автоматического грамматического согласования и атрибут склонения были представлены в iOS 15 с первоначальной поддержкой английского и испанского языков. С течением времени грамматический движок был расширен для включения дополнительных языков, а в iOS 18 он также поддерживает немецкий, французский, итальянский, португальский, хинди и корейский, что делает его еще более универсальным для многоязычных приложений.
-
Программирование3 недели назад
Конец программирования в том виде, в котором мы его знаем
-
Видео и подкасты для разработчиков6 дней назад
Как устроена мобильная архитектура. Интервью с тех. лидером юнита «Mobile Architecture» из AvitoTech
-
Магазины приложений3 недели назад
Магазин игр Aptoide запустился на iOS в Европе
-
Новости3 недели назад
Видео и подкасты о мобильной разработке 2025.8