Моя проблема заключается в следующем, у меня есть представление продукта, где я загружаю для просмотра данных, мне нужно добавить отображение рейтинга на основе звездной системы.
Вызов:
var rating = 4.22
RatingView(rating)
Входные данные: у меня есть рейтинг в двойном формате, и я предоставляю RatingView эти данные.
Выходные данные: Это в основном функция пола, основанная на числе, снабженном таким же количеством звездочек ![enter image description here](https://i.stack.imgur.com/2ewrF.jpg)
Проблема: Проблема в том, что я всегда получаю ошибку, независимо от того, использую я for или forEach l oop. Я попытался следующими способами:
HStack(alignment: .center, spacing: 5) {
ForEach(Int(rating), id: \.self) { _ in
Image(systemName: "star.fill")
.font(.system(size: 8, weight: .regular))
.foregroundColor(Color.yellow)
}
}
с ошибкой: не удается преобразовать значение типа '() -> некоторое представление' в ожидаемый тип аргумента '() -> _'
или
HStack(alignment: .center, spacing: 5) {
for index in 0..<Int(rating) {
Image(systemName: "star.fill")
.font(.system(size: 8, weight: .regular))
.foregroundColor(Color.yellow)
}
с ошибкой: замыкание, содержащее инструкцию потока управления, нельзя использовать с компоновщиком функций 'ViewBuilder'
Я действительно не знаю, как изменить l oop, чтобы он мог отображать то, что нужно ...