0
我有符合協議的struct
。該協議指定了需要符合另一協議的變量。在我的struct
中,我想使用符合所需協議的特定類型來聲明該變量。符合協議的類型變量
的代碼,這應該讓很多更加清晰:
protocol ViewModel {
var isActive: Bool { get }
}
struct TestViewModel: ViewModel {
var isActive = false
}
protocol View {
var viewModel: ViewModel { get }
}
struct TestView: View {
var viewModel: TestViewModel
}
使用上面的代碼,我會得到一個編譯錯誤說類型TestView
不符合協議View
。因爲TestViewModel
符合ViewModel
,我會預料到這樣可以,但顯然不是。
有什麼辦法可以做我想做的事嗎?在我的TestView
中使用它時,我需要將viewModel
類型轉換爲TestViewModel
。
正是我需要的。非常感謝! –
歡迎您!樂意效勞 –