Асинхронное изображение. Нельзя использовать оператор switch при закрытии фазы?
Когда я использую оператор switch в фазе в asyncImage, это дает мне эту ошибку.
Завершающее замыкание передается параметру типа CGFloat, который не принимает замыкание
Я понимаю, что документы используют операторы if let для извлечения изображения и получения ошибки, как здесь.
Мой код:
AsyncImage(url: URL(string:stringURL)) { phase in
switch phase {
case .empty:
ProgressView()
case .success(let image):
image
.scaledToFit()
case .failure():
EmptyView()
}
}
Согласно документам Apple:
AsyncImage(url: URL(string: "https://example.com/icon.png")) { phase in
if let image = phase.image {
image // Displays the loaded image.
} else if phase.error != nil {
Color.red // Indicates an error.
} else {
Color.blue // Acts as a placeholder.
}
Мой вопрос в том, почему я не могу использовать оператор switch здесь. И что конкретно означает эта ошибка?
Спасибо.