前提・実現したいこと
プログラミング初心者です。
巨大なデータを処理するために以下のようなコードを書きました。コードは質問用にかなり簡略化してあります。質問の意図が伝わらない場合はお手数ですが修正依頼をお願いします。
まずユーザーが開始値(start)と終了値(end)を設定します。開始値から終了値まで「ファイルを読み込み計算し、startに1を加算する」を繰り返します。start == end となったところでghi()で計算、heikin()で平均してtableviewに表示します。
計算に使うcsvファイルは最大約15,000個です。
シュミレーターでビルドしてみると約1500回の計算処理を繰り返すと計算するコード部分に以下のエラーが出ます。実機でビルドしてみると約240回の計算処理を繰り返したところでエラーが出ました。
おそらく無限ループになっていると判断されエラー出るのだと推測しています。
このエラーの意味と解決方法を教えていただけませんでしょうか。よろしくお願いします。
発生している問題・エラーメッセージ
EXC_BAD_ACCESS (code=2, address=0x7ffee7d5ffc8) //address=...は毎回違います。
該当のソースコード
swift
1 2override func viewDidLoad() { 3 super.viewDidLoad() 4 5 abc() 6 7} 8 9 10func abc() { 11 if start != end { 12 def() 13 } else { 14 ghi() 15 } 16} 17 18func def() { 19 // csvファイル読み込み計算する 20 start += 1 21 abc() 22} 23 24func ghi() { 25 // 最後の計算をする(def()と少し違う計算) 26 heikin() 27} 28 29func hekin() { 30}
試したこと
For文で処理し、start == end となったところでbreakさせればいいと思ったのですが、上手くコードを書くことができませんでした。
ループ処理を使ったコード例を回答していただけると幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。