SwiftUI:将多个BindableObjects放入环境

ide*_*per 11 dependency-injection ios swift swiftui

SwiftUI有可能使用environmentObjectView对象的方法把一个单一BindableObject到环境中。

如果我想同时将多个BindableObjects放入环境中怎么办?我在SwiftUI文档中没有找到任何解决方案。我不想在构造函数中传递对象。

Mar*_*n R 19

调用environmentObject()返回一个(修改的)视图,因此您可以链接这些调用以将多个对象放入环境中。例:

 let rootView = ContentView()
     .environmentObject(firstBindable)
     .environmentObject(secondBindable)
Run Code Online (Sandbox Code Playgroud)

  • 根据编译器错误,它似乎寻找与相同类型匹配的对象。当存在多个相同类型时,它还使用附加的第一个“environmentObject”。 (9认同)
  • 如何引用对象?是否有支持文档以了解更多信息? (2认同)
  • 我希望我能点击向上箭头 50 次!这简直要了我的命。谢谢你! (2认同)