0

我在 iPhon 应用程序中遇到无穷大问题。问题很奇怪。我需要使用以下公式计算缩放限制。

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

mapState.iBufferMult 的值 = 3

问题是大多数类型的公式给出了正确的值 0.44。但有时它会给出无穷大。

谁能告诉我为什么会这样。

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 或者mapState.iBufferMult是 0。

或者问题出在这条线之外。

也许在那里设置一个断点并在 zoomLimit 为 INFINITY 时停止。

于 2010-12-06T14:59:00.953 回答