在我的ViewModel中,我正在從API獲取資料,我想用資料填充我的變數,但是當我宣告變數時,它回傳錯誤。
ViewModel.swift
class PromoDetailViewModel。ObservableObject, ModelService {
var apiSession。APIService[/span
@Published var dataArray = [BannerDetailResData]() // this is okay
@Published var data = BannerDetailResData //這回傳錯誤。
//錯誤資訊是:
//預期的成員名或建構式呼叫在型別名之后。
//在型別后添加引數以構造該型別的值 //在型別后添加引數以構造該型別的值//使用.self來參考型別物件。
init(apiSession: APIService = APISession()) {
self.apiSession = apiSession
}
func getPromoDetail() {
let cancellable = self.getBannerDetail(bannerID: bannerID)
.sink(receiveCompletion: { result in.
switch 結果 {
case .failure(let error)。
print("處理錯誤。(error)")
case . finished:
break。
}
}) { (結果) in
if result.statusCode == 200 {
self.data = result.data
}
self.isLoading = false }
}
cancellables.insert(cancellable)
}
}
BannerDetailResData.swift
struct BannerDetailResData: Codable, Hashable {
let bannerId: String[/span
let bannerImg: String
let startDate: String
let endDate: String
}
為什么當我宣告為BannerDetailResData時,它可以完美地作業?宣告這個單一結構物件的正確方式是什么?先謝謝你
uj5u.com熱心網友回復:
讓它成為可有可無的
var data:BannerDetailResData?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/321929.html
標籤:
