更新时间:2022-12-22 15:30:39
闭包就是你所需要的!
struct ItemsView<Destination: View>: View {
let items: [Item]
let buildDestination: (Item) -> Destination
var body: some View {
NavigationView {
List(items) { item in
NavigationLink(destination: self.buildDestination(item)) {
Text(item.id.uuidString)
}
}
}
}
}
我写了一篇关于用闭包替换 SwiftUI 中的委托模式的文章.https://swiftwithmajid.com/2019/11/06/the-power-of-closures-in-swiftui/
I wrote a post about replacing the delegate pattern in SwiftUI with closures. https://swiftwithmajid.com/2019/11/06/the-power-of-closures-in-swiftui/