Я следую руководству, которое включает в себя выборку данных JSON и декодирование их в массив, и это работает, и создается массив 'user', см. Код:
fileprivate func fetchHomeFeed(){
let jsonUrlString = "https://api.letsbuildthatapp.com/twitter/home"
guard let url = URL(string: jsonUrlString) else { return }
let stringdata = URLSession.shared.dataTask(with: url) { (data, response, jsonErr) in
guard let data = data else { return }
do {
let user = try JSONDecoder().decode(Users.self, from: data )
let index: Int = user.users.count
//print the names to check
for index in 0...(index - 1) {
print(user.users[index].name)
}
} catch let jsonErr {
print("Error serialising ", jsonErr)
}
}.resume()
}
Способ установки приложениявверх в том, что есть класс в другом файле с именем HomeDataSource, который нуждается в этом массиве для отображения пользователей.В настоящее время у меня есть статический массив, который работает и отображает данные в приложении.Теперь это должно быть заполнено декодированными данными из функции в fetchHomeFeed ()
Я пробовал много способов, но не могу заставить его работать, и мне нравится придерживаться установки с HomeDataSource, какой-то этоорганизованный код.
class HomeDatasource: Datasource {
let users: [User] = {
let User1 = User(name: "Frank", username: "@Loremipsum", bioText: "Lorem ipsum dolor sit amet", profileImage: UIImage(named:("profile_image.jpg")))
let User2 = User(name: "Ben", username: "@Loremipsum", bioText: "Lorem ipsum dolor sit amet", profileImage: UIImage(named:("profile_image.jpg")))
return [User1, User2]
}()
Мне бы хотелось несколько советов или кодов, которые помогут мне решить эту проблему ..