[SwiftUI]ForEachのRangeエラーの原因と解決法

SwiftUI

「Cannot convert value of type ‘ClosedRange<Int>’ to expected argument type ‘Range<Int>’」

このエラーが出たという人に向けて、この記事は書かれています。

どうも、ちょげ(@chogetarou)です。

ForEachで数値の範囲指定を扱いたくて、なんとなくコードを書いていたら、このエラーに遭遇しました。

このエラーは、ぱっと見では意味がわからないエラーですが、解決方法はとても簡単です。

スポンサーリンク

原因

このエラーが出る原因は、範囲指定を間違っているからです。

皆さんのForEachの範囲指定を見てみてください。

恐らくForEach(数値 … 数値)といった感じになっているはずです。

実は、(数値 …数値)の部分が間違っているのです。

解決方法

女の子, 若い, 学生, 座ります, テーブル, 図書, ノート, ペン, 研究, 宿題, ジョブ, 思う

解決方法は簡単で、範囲指定を(数値 ..< 数値)にするだけです。

最後がピリオド(.)を、(<)にします。

理由は分かりませんが、ForEachの範囲指定は、ピリオド3つ(…)ではエラーになるようです。

範囲を( … )から( ..< )に変える場合は、最後の数値が含まれなくなりますので、そこは気をつけてください。

まとめ

  • ForEachの範囲指定は、ピリオド3つですると、エラーになる
  • ピリオド3つの指定ではなく、最後が(<)の指定にする。

この記事が、皆さんのお役に立ててたら嬉しいです。

エラーが出ても、めげずに頑張ってくださいね!

読んで頂きありがとうございました。

コメント

タイトルとURLをコピーしました