本文介绍了如何在 SwiftUI 中为 NavigationLink 创建工厂方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想为 NavigationLink:s 创建一个工厂方法,如下所示:

I would like to create a factory method for NavigationLink:s as follows:

func makeNavigationLink(label: String, destination: View) -> some View {
    NavigationLink(destination: StatsView(), label: {
        Text(label)
            .foregroundColor(.white)
            .font(.title)
    })
}

这会产生一个错误:Protocol 'View' 只能用作通用约束,因为它具有 Self 或相关的类型要求

这应该如何编码?

推荐答案

添加视图约束.

func makeNavigationLink<Destination: View>(label: String, destination: Destination) -> some View {
        NavigationLink(destination: StatsView(), label: {
            Text(label)
                .foregroundColor(.white)
                .font(.title)
        })
    }

这篇关于如何在 SwiftUI 中为 NavigationLink 创建工厂方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-25 14:01