Форум программистов, компьютерный форум, киберфорум
Swift
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 23.07.2022
Сообщений: 3

SwiftUI шибка при получении данных с Апи

05.06.2023, 19:22. Показов 975. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет. Понимаю, вопрос простой, но что то не могу найти нормальной информации в инэте. Начал изучать swiftUI и не могу понять как получить данные JSON вот с такого апи (примерно) { let title: String, let name: String} Вот мой код, мне выдает ошибку и я не пойму, как правильно и что прописать в контентВью. Пробовал перевести его в массив, но безрезультатно) Помогите пожалуйста))

Code Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
struct DetailMovies: Decodable, Identifiable {
let id: String
let title: String
let plot: String
}
 
class DteailViewModel: ObservableObject {
 
@Published var detailsM: DetailMovies?
private var bag = Set<AnyCancellable>()
 
let urlString = "https://imdb-api.com/en/API/Title/k_jc60iz95/tt1375666"
 
init() {
    loadDetail()
}
 
 
func loadDetail() {
    guard let url = URL(string: urlString) else { return }
 
    URLSession.shared.dataTaskPublisher(for: url)
        .receive(on: DispatchQueue.main)
        .tryMap {res in
            guard let response = res.response as? HTTPURLResponse,
                  response.statusCode >= 200 && response.statusCode <= 300 else {
                throw URLError(.badServerResponse)
            }
 
            let decoder = JSONDecoder()
            guard let det = try? decoder.decode(DetailMovies.self, from: res.data) else {
                throw URLError(.badURL)
            }
            return det
        }
        .sink { completion in
        switch completion {
        case .finished:
            print("Finished!")
        case.failure(let error):
            print(error.localizedDescription)
        }
        //print("Completion: \(completion)")
    } receiveValue: { [weak self] returnMovie in
        self?.detailsM = returnMovie
    }
    .store(in: &bag)
}
}
 
struct ContentView: View {
var detailVM = DteailViewModel()
 
var body: some View {
    List(self.detailVM.detailsM?.title) { detail in //Ошибка вот здесь выходит
        Text(detail.title)
    }
    .onAppear {
        detailVM.loadDetail()
    }
 
}
}
Ошибка, которая выскакивает Initializer ‘init(_:rowContent’ requires that ‘String?’ conform to ‘RandomAccessCollection’
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.06.2023, 19:22
Ответы с готовыми решениями:

валидация данных при работе с апи
Через обычный web контроллер(store() метод) я принимаю данные с формы, пропускаю через валидатор formRequest - все работает. Делаю...

Ошибка при получении данных из БД при использовании MVC framework 4.0
// HomeControlers.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; ...

Трудности при получении данных
В справочнике ВидМатериала находятся реквизиты Наименование, ПлотностьСырья и т.д. Процедура РасчетВеса данные по Диаметру и Длине...

3
41 / 28 / 13
Регистрация: 31.10.2019
Сообщений: 126
06.06.2023, 12:23
используйте Alamofire для таких целей. есть куча примеров, как программировать такие запросы.
0
0 / 0 / 0
Регистрация: 23.07.2022
Сообщений: 3
06.06.2023, 17:07  [ТС]
А у вас случайно нет ссылки на норм источник?)) Заранее спасибО))
0
41 / 28 / 13
Регистрация: 31.10.2019
Сообщений: 126
06.06.2023, 17:16
https://github.com/Alamofire/Alamofire
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.06.2023, 17:16
Помогаю со студенческими работами здесь

Искажения данных при получении из бд
(MS SQL SERVER) Всем привет, в базед данныхесть два стобца, в обоих столбцах записано &amp;, или дургйо управляющий символ. При...

Ошибки при получении данных
Добрый день! Не понимаю, что я делаю не так. Искал в инете код чтобы выводить информация о сервере CS 1.6 . Нашел код, на форуме показывают...

Зацикливание при получении получении сообщения от клиента
Доброго времени суток! Уже выбился из сил... Суть моей проблемы в следующем. Реализую клиент-серверное приложение на сокетах. Сервер...

Всплывающее окно при получении данных
Имеем IP-телефонию, есть API, в личном кабинете можно настроить так, что при входящем звонке будет осуществляться передача данных в GET с...

Крякозябры при получении данных с GPS
Код работает, координаты выводятся, но в сериал монитор идут кракозябрами, Почему? #include &lt;SoftwareSerial.h&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
Агрегаты и сущности в DDD микросервисах
Javaican 10.04.2025
Разработка современных программных систем часто приводит на распутье: монолит или микросервисы? Даже при выборе микросервисной архитектуры многие команды сталкиваются с проблемой правильного. . .
Многопоточность в C#: Task и параллельное программирование
UnmanagedCoder 10.04.2025
Современные процессоры уже давно перестали наращивать тактовую частоту в пользу увеличения количества ядер. Это создало интересную ситуацию: разработчики, привыкшие к последовательному. . .
Линейное решение нелинейной задачи с помощью арктангенса для метода обработки данных из double buffering.
Hrethgir 10.04.2025
Публикация в доработке, метод арктангенса в комментариях внизу. Вообще изначально я пренебрёг квадратурой числа, но потом понял, что для вычисления приблизительного значения - сгодится, формулу. . .
Переменные в Python
py-thonny 10.04.2025
Переменная в программировании — это символическое имя, связанное с областью памяти, в которой хранится значение. Она позволяет получать доступ к данным через понятные человеку идентификаторы, а не. . .
Многопоточность в C#: Task и асинхронные операции
UnmanagedCoder 10.04.2025
Многопоточность позволяет выполнять несколько операций одновременно, что важно для решения двух основных задач: повышения скорости выполнения вычислительно-сложных операций и сохранения отзывчивости. . .
Запуск контейнеров Docker на ARM64
Mr. Docker 09.04.2025
Появление таких решений, как Apple M1/ M2, AWS Graviton, Ampere Altra и Raspberry Pi, сделало использование ARM-систем обыденностью для многих разработчиков и DevOps-инженеров. При этом Docker,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер