如何为SwiftUI中的函数定义默认的空输入内容?
我有一个customContentViewFunction(),我喜欢给它一个像{}或EmptyView这样的空内容作为默认值,在用例中我不必这样做,例如,我对颜色做了同样的事情如何为SwiftUI中的函数定义默认的空输入内容?,swiftui,Swiftui,我有一个customContentViewFunction(),我喜欢给它一个像{}或EmptyView这样的空内容作为默认值,在用例中我不必这样做,例如,我对颜色做了同样的事情 struct ContentView: View { var body: some View { customContentViewFunction(content: Text("hello"), color: .green)
struct ContentView: View {
var body: some View {
customContentViewFunction(content: Text("hello"), color: .green)
// customContentViewFunction() : << Like this one!
}
func customContentViewFunction<Content: View>(content: Content, color: Color = Color.red) -> some View {
ZStack {
Rectangle()
.fill(color)
content
}
}
}
struct ContentView:View{
var body:一些观点{
customContentViewFunction(内容:文本(“hello”),颜色:。绿色)
//customContentViewFunction():某些视图{
ZStack{
矩形()
.填充(颜色)
内容
}
}
}
为内容定义传递函数的另一个版本/签名EmptyView()
您可以选择使用color
属性对其进行定义,也可以不使用该属性,将其设置为原始签名中的默认值
struct ContentView: View {
var body: some View {
customContentViewFunction()
}
func customContentViewFunction(color: Color = Color.red) -> some View {
return customContentViewFunction(content: EmptyView(), color: color)
}
func customContentViewFunction<Content: View>(content: Content, color: Color = Color.red) -> some View {
ZStack {
Rectangle()
.fill(color)
content
}
}
}
struct ContentView:View{
var body:一些观点{
customContentViewFunction()
}
func customContentViewFunction(颜色:color=color.red)->一些视图{
返回customContentViewFunction(内容:EmptyView(),颜色:color)
}
func customContentViewFunction(内容:内容,颜色:颜色=颜色.红色)->一些视图{
ZStack{
矩形()
.填充(颜色)
内容
}
}
}
因为我们根本没有任何函数的初始值设定项,我是说在func的一般情况下,在这种情况下,我们应该定义多个函数以获得灵活性吗?只要看看Apple的许多Swift代码的头部,你就会发现,为了灵活性,函数通常有多个签名。