我正在尝试使用以下代码从 UI Kit 展示一些 SwiftUI:
class SavedListViewController: UIHostingController<SavedEventListView> {
required init?(coder: NSCoder) {
let listView = SavedEventListView().environmentObject(RemindersViewModel())
super.init(rootView: listView) // BUILD ERROR HERE = "Cannot convert value of type 'some View' to expected argument type 'SavedEventListView'"
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我得到 Cannot convert value of type 'some View' to expected argument type 'SavedEventListView'
如果我尝试强制铸造listView!SavedEventListView,应用程序崩溃。
如果我不提供环境变量,应用程序也会崩溃。
无法将“SwiftUI.ModifiedContent<_.SavedEventListView, SwiftUI.EnvironmentKeyWritingModifier.RemindersViewModel>>>”(0x7fff89e46b90)类型的值转换为“_.SavedEventListView”(0x10a2447d0)。
有关如何解决此问题并呈现此 swiftui 视图的任何建议?谢谢
其他代码
class RemindersViewModel: ObservableObject {
@Published var savedEvents = RemindersStore().fetchRuns()
}
struct …Run Code Online (Sandbox Code Playgroud) 我正在编写一个简单的天气应用程序,试图巩固我对协议和代表的理解.我遇到以下情况:
最好的方法是什么?我正在考虑嵌套委托方法,其中数据源1在有数据(通过协议)时通知数据源2,然后让数据源2通知视图控制器在有数据时更新视图.但是,我认为这不是正确/最好的做事方式.
有任何想法吗?
谢谢