要定义一个不返回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中创建了一个文本视图。
上一篇:不放置零
下一篇:不返回对象的多数据类型解析器