Найдите лучший способ справиться с нумерацией страниц JSON с помощью MVVM в Swift 5 - PullRequest
1 голос
/ 02 ноября 2019

В настоящее время мой проект использует структуру MVVM . У меня есть JSON Pagination следующим образом:

{
    "has_next": false,
    "next_params": {
        "limit": 10,
        "offset": 10
    },
    "results": [
        { "id": 1, "name": "A Place" },
        { "id": 2, "name": "A Night" }
    ]
}

Это моя ViewModel:

class LifeStoryViewModel: ObservableObject {

    @Published var lifes: [Life] = []
    var has_next: Bool = true
    var next_params: [String:Any] = [:]
    var fetching: Bool = false

    func fetchLifeStories () {
        let url = URL(string: STRINGURL)
        URLSession.shared.dataTask(with: url!) { (data, res, err) in
            DispatchQueue.main.async {
                let vvv = try! JSONDecoder().decode(LifeStories.self, from: data!)
                self.lifes = vvv.results
            }
        }.resume()
    }

}

Как вы, ребята, видите, у меня есть модель LifeStories:

struct Life: Identifiable, Codable {
    var id: Int
    var name: String
    var description: String
    var thumbnail: String
}

struct LifeStories: Codable {
    var has_next: Bool
    var results: [Life]
}

Могу ли я удалить модель LifeStories и обработать ее внутри LifeStoryViewModel? Как я могу это сделать, потому что я думаю, что LifeStories модель не нужна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...