Узнайте, как создать вызов API для получения данных из удаленного файла JSON и отображения этих данных в списке SwiftUI. Давайте начнем!

Сложность: Начинающий | Легко | Нормальный | Испытывающий

Среда: Xcode 12 и SwiftUI

Начать новый проект Xcode

Откройте Xcode ›Создайте новый проект Xcode› Шаблон приложения ›Назовите его userJSON и выберите интерфейс и жизненный цикл SwiftUI.

Получите онлайн-API

Перейдите на сайт JSONPlaceholder, мы собираемся использовать этот URL-адрес JSON для отображения данных в нашем списке. Как видите, это набор из 10 элементов, содержащих массив данных.

Создать модель

Создайте файл Swift с именем userModel и скопируйте / вставьте в него следующий код:

Это структура, которую мы собираемся использовать для нашего приложения. Идентификатор, имя пользователя и имя будут соответствовать тем, которые присутствуют в файле JSON. Не стесняйтесь добавлять больше, например адрес электронной почты, телефон, веб-сайт и т. Д.

Создайте ViewModel

Теперь мы собираемся создать файл для выполнения вызовов API между нашим приложением и файлом JSON, декодировать его и получить данные. Создайте другой файл Swift, на этот раз назовите его userViewModel и вставьте код ниже:

Давайте представим этих пользователей!

Маленькая хитрость:

Перед созданием пользовательского интерфейса стоит проверить, правильно ли был выполнен вызов API. Я рекомендую вам позвонить прямо сейчас с помощью метода onAppear (). Напишите переменную состояния для установления связи между нашим ContentView и View. Поместите метод onAppear () сразу после текста.

@State var пользователи: [User] = []

.onAppear {

apiCall (). getUsers {(пользователи) в

self .users = пользователи

}

}

Как видите, отладчик печатает всех пользователей с идентификатором, именем и фамилией, а это значит, что мы в порядке!

Чтобы отобразить всех пользователей в списке, замените текущий Text на List, например:

Запустите ваше приложение 🏃‍♂️

Теперь запустите приложение, и вы увидите список пользователей:

Заключение:

Спасибо за внимание! Для декодирования удаленного JSON с помощью Swift требуется всего несколько строк кода, а создание пользовательского интерфейса с помощью SwiftUI - легкий ветерок! Для вашего проекта убедитесь, что вы используете правильный формат в вашей модели, соответствующий файлу JSON, так как это распространенная ошибка.

Я всегда рад поболтать и поработать на [email protected]. Рассмотрите возможность подписки, чтобы получить неограниченный доступ к моим статьям и всему Medium через мою реферальную ссылку.

Полный код доступен здесь: