我喜欢在不使用继承的情况下学习和了解 View 的创建,例如为了显示我的目标,我创建了一个名为Color2的新类型 View ,它按预期工作,但事实上它继承自定义明确的 Color,所以如果我想要使 Color2 独立,而不是从我必须创建或返回的任何东西继承body,否则SwiftUI 不会编译 Color2 !这更像是先有鸡还是先有蛋?
Apple 是如何让Color一开始就独立存在甚至存在的?Apple 在做 Color View 的时候,也应该想到 Color 的本体!但是苹果只是在创造颜色,他们甚至不能像我在代码中那样继承!因为没有要继承的颜色视图!!!
所以问题/问题是如何在没有符合 View的引用/定义View 的情况下返回body ?(看!我想在没有鸡的情况下创建鸡蛋)
这个向下的代码工作,它们只是伪代码:
struct ContentView: View {
var body: some View {
Color2.red
}
}
enum Color2 { case red, black }
extension Color2: View {
public var body: some View {
switch self {
case Color2.red: Color.red // <<: Here: how can I return a View if I want not using defined View!
case Color2.black: Color.black // <<: Here: how can I return a View if I want not using defined View!
}
}
}