有没有办法拥有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 次 |
最近记录: |