要定义一个不返回AnyView
的协议视图,可以按照以下步骤进行操作:
AnyView
的视图。可以使用View
作为协议的约束,这样只有符合View
协议的类型才能遵循该协议。protocol NonAnyViewReturningView {
associatedtype Body : View
var body: Self.Body { get }
}
body
属性的类型应该是具体的View
类型,而不是AnyView
。在示例代码中,我们将创建一个简单的文本视图。struct TextView: NonAnyViewReturningView {
var text: String
var body: some View {
Text(text)
}
}
ContentView
中使用该视图。struct ContentView: View {
var body: some View {
TextView(text: "Hello, World!")
}
}
这样,我们就定义了一个不返回AnyView
的协议视图,并成功使用它在ContentView
中创建了一个文本视图。
上一篇:不放置零
下一篇:不返回对象的多数据类型解析器