I wanted to share how I developed a comment thread using SwiftUI’s List, like in the video below.
The code is just very simple, we will leverage List’s children property.
List(topStory, children: \.chain) { story in StoryDetailsRowView(story: story)}.listStyle(.plain)The main part is how we structure our data model. Take note of the chain variable.
import Foundation
class Story: Identifiable {
let id = UUID() let user: User let title: String let content: String let date: String var chain: [Story]?
init(user: User, title: String, content: String, date: String, chain: [Story]? = nil) { self.user = user self.title = title self.content = content self.date = date self.chain = chain }
func setChain(_ chain: inout [Story]) { self.chain = chain }}