Life · 5 / 12

UUID в общем коде

expect / actual

Средняяkmpexpect-actual

В модуле с Android- и iOS-таргетами commonMain не может импортировать java.util.UUID. Для тренировки платформенной границы сохрани класс Note в commonMain и реализуй expect fun randomId(): String через actual для Android и iOS.

Договор: lowercase UUID-строка стандартного вида с дефисами; ID вычисляется один раз при создании Note и не меняется при повторном чтении. Разные вызовы генерируют случайные идентификаторы, но абсолютная математическая уникальность не обещается.

Раздели решение на файлы commonMain/androidMain/iosMain в одном package. Проверь обе сборки, формат строки и стабильность ID одного Note. Код в одном редакторе показан как несколько файлов с комментариями.

В обычном проекте с Kotlin 2.4.0+ можно использовать общий kotlin.uuid.Uuid.random() без собственной платформенной обёртки; здесь expect/actual — явное учебное условие. Стабилизация UUID.

Твой код
Решение