- A new Group API available from iOS18
- accessing a collection of views using the new Group API
- Use a new API for ForEach to iterate the collection of views
- inserts a separator inside ForEach
struct SplittingView<Content: View, Splitter: View>: View {
let content: Content
let splitter: Splitter
init(
@ViewBuilder content: () -> Content,
@ViewBuilder splitter: () -> Splitter
) {
self.content = content()
self.splitter = splitter()
}
var body: some View {
Group(subviews: content) { collection in
let lastID = collection.last?.id
ForEach(subviews: collection) { subviews in
subviews
if subviews.id != lastID {
splitter
}
}
}
}
}