View is not rerendered in Nested ForEach loop : <p>I have the following component that renders a grid of semi transparent characters:</p>

<pre class="lang-swift prettyprint-override"><code>    var body: some View {
        VStack{
            Text("\(self.settings.numRows) x \(self.settings.numColumns)")
            ForEach(0..&lt;self.settings.numRows){ i in
                Spacer()
                    HStack{
                        ForEach(0..&lt;self.settings.numColumns){ j in
                            Spacer()
                            // why do I get an error when I try to multiply i * j
                            self.getSymbol(index:j)
                            Spacer()
                        }
                    }
                Spacer()
            }
        }
    }

</code></pre>

<p><code>settings</code> is an EnvironmentObject</p>

<p>Whenever <code>settings</code> is updated the Text in the outermost <code>VStack</code> is correctly updated. However, the rest of the view is not updated (Grid has same dimenstions as before). Why is this?</p>

<p>Second question:
Why is it not possible to access the <code>i</code> in the inner <code>ForEach</code>-loop and pass it as a argument to the function?</p>

<p>I get an error at the outer <code>ForEach</code>-loop:</p>

<blockquote>
  <p>Generic parameter 'Data' could not be inferred</p>
</blockquote>
