Я пытаюсь реализовать приложение, в котором ответ на вызов сервера используется для построения представления. Представление может быть одного из 5 или 6 различных типов, в зависимости от возвращаемых данных, причем все они имеют разные требования к форме и типу данных, которые им передаются. Каков наилучший способ определить структуру / класс для входящих данных? Единственный способ, которым я смог до сих пор заставить это работать, это использовать: Any в качестве типа данных
Это широкие штрихи того, что я пытаюсь сделать ...
struct PageViewData {
type: String
id: Int
viewData: Any
}
struct MyViewA: View {
type: String
id: Int
viewData: MyViewADataShape
var body: some View {
//contents here
}
}
struct MyViewADataShape {
navigation: [NavigationItem]
cta: String
}
struct MyViewB: View {
type: String
id: Int
viewData: MyViewBDataShape
var body: some View {
//contents here
}
}
struct MyViewBDataShape {
pageTitle: String
author: String
wordCount: Int
}
var serverResponse: PageViewData = fetchDataFromServer()
if(serverResponse.type == "A") {
MyViewA(serverResponse)
}
if(serverResponse.type == "B") {
MyViewB(serverResponse)
}