通过将值和目标视图分离,NavigationLink
和 navigationDestination()
提供了一种更灵活、更高效的导航方式,适用于动态数据和复杂场景。结合 Hashable
协议,可以轻松处理自定义数据类型,构建更强大的 SwiftUI 应用。
为了更高效、更灵活地导航,SwiftUI 提供了另一种方式:
NavigationLink
附加值:这个值可以是 Int
、String
或任何遵循 Hashable
的类型。navigationDestination()
修饰符:告诉 SwiftUI 如何根据这些值呈现目标视图。当你需要处理动态数据时,例如显示多个整数,SwiftUI 提供了一种更好的方法:为 NavigationLink
附加一个表示值(presentation value),避免视图实例提前创建。
在接下来的内容中,我们将学习如何通过优化代码来避免这个问题,同时提升 SwiftUI 应用的性能。