Using environmentObject in watchOS

前端 未结 3 1736
盖世英雄少女心
盖世英雄少女心 2021-02-05 05:23

I am trying to use environmentObject in a watchOS6 app to bind my data model to my view.

I have created a simple, stand-alone Watch app in Xcode 11.

3条回答
  •  臣服心动
    2021-02-05 06:18

    For anyone like Brett (in the comments) who was getting

    "Property 'body' with type 'AnyView' cannot override a property with type 'ContentView'"
    

    I got the same error because I hadn't replaced the return value and wrapped the ContentView being returned.

    ie. this is what my first attempt looked like.. notice the WKHostingController that should be WKHostingController

    class HostingController : WKHostingController {
        override var body: AnyView {
            return AnyView(ContentView().environmentObject(DataModel()))
        }
    }
    

提交回复
热议问题