чтобы решить вашу проблему, вы можете сделать это в TopicsView:
init(whichTopic: Int) {
self.whichTopic = whichTopic
self.topicsVM.getArticles(selectedTopic: self.whichTopic)
}
Это обеспечит наличие в вашем массиве статей данных, которые вы ожидаете до построения представления.
Тем не менее, вы должны это сделать в любом случае в вашем списке:
if topicsVM.articles.count > 0 {
Text(topicsVM.articles[0].title).foregroundColor(Color.black)
}
Причина, по которой индекс выходит за пределы допустимого диапазона, заключается в том, что массив "themesVM.articles" заполняется после создания представления. И, конечно же, пустой массив не имеет элемента [0].