Подробная ошибка из асинтегии в Swiftui?IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Подробная ошибка из асинтегии в Swiftui?

Сообщение Anonymous »

Я использовал Asyncimage для своего проекта, который получает изображения с использованием URL. Я думал, что Asyncimage - лучший способ пойти, так как Swiftui предоставляет готовый к использованию компонент. Сообщение об ошибке о том, почему запрос на URL не удался (например, нет разрешений на доступ к URL или по какой -либо другой причине). < /p>
Причина, по которой я постоянно вижу, - это операция не может быть завершена. (Swiftui. (Неизвестный контекст в $ 1D2600574). Загрузка ошибка 1.) p>
import SwiftUI

class Foo {
var title: String
var url: String
var image: Image?

init(title: String, url: String, image: Image? = nil) {
self.title = title
self.url = url
self.image = image
}
}

struct ContentViewA: View {
@State var showSheetA: Bool = false

var body: some View {
VStack {
Text("This is main view")
}
.onAppear{
showSheetA = true
}
.sheet(isPresented: $showSheetA) {
SheetViewA()
}
}
}

struct SheetViewA: View {
@State var data = [
Foo(title: "Image E", url: "https://t3.ftcdn.net/jpg/10/08/34/50/36 ... D4l.jpg123", image: nil)
]

@State var panelDetent: PresentationDetent = .medium

var body: some View {
NavigationStack {
VStack {
ScrollView(.horizontal, showsIndicators: false) {
HStack(alignment: .center, spacing: 10) {
ForEach(data, id: \.title) { item in
if let urlObject = URL(string: item.url) {
AsyncImage(url: urlObject,
scale: 1.0,
transaction: Transaction(animation: .spring(response: 0.5, dampingFraction: 0.65, blendDuration: 0.025)),
content: { renderPhoto(phase: $0, item: item) })
} else {
/// Note: Shows placeholder view
EmptyView()
}
}
}
.background(Color.gray.opacity(0.2))
.padding(.leading, 0)
.padding(.trailing, 16)
.frame(maxWidth: .infinity, minHeight: 65, maxHeight: 65, alignment: .topLeading)
}
}
.padding([.top, .bottom], 150.0)
.presentationDetents([.medium, .large], selection: $panelDetent)
}
}

@ViewBuilder
private func renderPhoto(phase: AsyncImagePhase, item: Foo) -> some View {
switch phase {
case .success(let image):
let _ = print("Success state")
case .failure(let error):
let _ = print("%%% detailed error is - \(error.localizedDescription) %%%%")
case .empty:
let _ = print("Empty state")
@unknown default:
EmptyView()
}
}
}
< /code>
Есть ли способ получить подробное сообщение об ошибке, используя Asycnimage? Или мне придется получить изображения, используя старый метод запроса UrlSession? Мне нужно отобразить подробное сообщение об ошибке на пользовательском интерфейсе.

Подробнее здесь: https://stackoverflow.com/questions/793 ... in-swiftui
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Подробная ошибка из асинтегии в Swiftui?
    Anonymous » » в форуме IOS
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Нужна подробная ошибка при проверке схемы JSON Python
    Anonymous » » в форуме Python
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Что такое HTML? Более подробная информация [закрыто]
    Anonymous » » в форуме CSS
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Подробная отладка ACH-SSH2
    Anonymous » » в форуме JAVA
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Со скольки месяцев можно детям есть оливковое масло? Подробная инструкция для родителей.
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»