Программирование
Множественное число в текстовых представлениях SwiftUI с помощью склонения
Эта интеграция делает работу с множественным числом в SwiftUI простой и эффективной.
В фреймворке Foundation есть функция автоматического согласования грамматики, которая позволяет сократить количество строк локализации и упростить код. Она обеспечивает соблюдение в тексте таких грамматических правил, как множественное число и род. Она легко сочетается со SwiftUI, позволяя нам обрабатывать множественное число непосредственно в текстовых представлениях без написания лишней логики.
Чтобы текст автоматически подстраивался под значения множественного числа, мы можем указать, что хотим, чтобы он использовал правило склонения, и определить область применения склонения, используя следующий синтаксис:
Text("You read ^[\(bookCount) book](inflect: true) this year!")
SwiftUI распознает этот синтаксис как пользовательский атрибут Markdown и обрабатывает его соответствующим образом. Когда создается представление Text со строковым литералом, как показано в примере выше, SwiftUI рассматривает строку как LocalizedStringKey и анализирует содержащуюся в ней разметку. Он определяет атрибуты склонения в строке и использует функцию автоматического согласования грамматики из Foundation для внесения необходимых корректировок во время рендеринга.
Вот как это будет выглядеть в полном представлении SwiftUI:
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 он также поддерживает немецкий, французский, итальянский, португальский, хинди и корейский, что делает его еще более универсальным для многоязычных приложений.
-
Видео и подкасты для разработчиков4 недели назад
SwiftUI: алхимия приложений — превращаем идеи в реальность
-
Новости4 недели назад
Видео и подкасты о мобильной разработке 2025.3
-
Магазины приложений2 недели назад
Приложение Hot Tub появится на iOS в EC
-
Разработка3 недели назад
Смешивание цветов в SwiftUI