Dan*_*Dan 2 swiftui swiftui-navigationlink ios16 swiftui-navigationstack
我有一个这样的模型...
struct User: Codable {
let followersCount: Int
let followingCount: Int
}
Run Code Online (Sandbox Code Playgroud)
使用 NavigationStack 我希望能够使用基于 Value 的 NavigationLink
NavigationLink(value: user.followersCount) {
Text("Followers")
}
NavigationLink(value: user.followingCount) {
Text("Following")
}
.navigationDestination(for: Int.self) { _ in
FollowersView()
}
.navigationDestination(for: Int.self) { _ in
FollowingView()
}
Run Code Online (Sandbox Code Playgroud)
因为这两个值都是 Int。有没有办法区分两者?
声明一个对象:
enum Link {
case followers(Int)
case following(Int)
}
Run Code Online (Sandbox Code Playgroud)
然后像这样使用它:
NavigationLink(value: Link.followers(user.followersCount)) {
Text("Followers")
}
NavigationLink(value: Link.following(user.followingCount)) {
Text("Following")
}
.navigationDestination(for: Link) { link in
switch link {
case let .followers(count):
FollowersView()
case let .following(count):
FollowingView()
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
861 次 |
| 最近记录: |