0

iPhon アプリケーションで無限の問題が発生しています。問題は非常に奇妙です。次の式を使用してズーム制限を計算する必要があります。

zoomLimit = 1/(mapState.iBufferMult*0.75);

mapState.iBufferMult の値 = 3

問題は、ほとんどの式が正しい値 0.44 を与えることです。しかし、時々それはINFINITYを与えます。

なぜそのようなことをしているのか、誰か教えてもらえますか。

4

4 に答える 4

1

mapState.iBufferMult式が INFINITY の場合は 0 であるためです。プログラムの何かがそれを0に設定しています。それと除算の結果をログに記録し、毎回チェックしてください。

于 2010-12-06T14:57:20.880 に答える
1

時々mapState.iBufferMult== だから0です。

ダングリング ポインターがないことを確認します。

于 2010-12-06T14:57:23.060 に答える
0

なぜそのようなことをしているのか、誰か教えてもらえますか。

はい、できます:mapState.iBufferMult0(ゼロ) の場合:

zoomLimit = 1/(mapState.iBufferMult*0.75)
          = 1/(0*0.75)
          = 1/0
          = INFINITY

mapState.iBufferMult問題を解決すれば、あなたはこの問題を解決したことになります。

于 2010-12-06T14:57:44.917 に答える
0

場合によってmapStateは nil または0 になるためmapState.iBufferMultです。

または、問題はこの線の外にあります。

そこにブレークポイントを設定して、zoomLimit が INFINITY のときに停止するかもしれません。

于 2010-12-06T14:59:00.953 に答える