有没有办法拥有View财产?
struct MyObj {
var myView: View
}
Run Code Online (Sandbox Code Playgroud)
当我尝试这个时,我得到一个编译器错误: Protocol 'View' can only be used as a generic constraint because it has Self or associated type requirements
rob*_*off 11
如果你想要一个可以容纳任何类型的属性View,你有几个选择。
如果它在运行时始终是相同类型的视图,则可以使容器通用:
struct MyObject<Content: View> {
var myView: Content
}
Run Code Online (Sandbox Code Playgroud)
如果您希望它在运行时保存不同类型的视图,则需要使用AnyView:
struct MyObject {
var myView: AnyView
}
Run Code Online (Sandbox Code Playgroud)
并且您需要在AnyView分配给属性时手动包装您的视图实例。
| 归档时间: |
|
| 查看次数: |
1382 次 |
| 最近记录: |