Проблема бесконечности при делении iOS - PullRequest
0 голосов
/ 06 декабря 2010

У меня проблема бесконечности в приложении iPhon.Проблема очень странная.Мне нужно рассчитать предел масштабирования по следующей формуле.

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

Значение mapState.iBufferMult = 3

Проблема в том, что в большинстве типов формула дает правильное значение 0,44,Но иногда это дает бесконечность.

Может кто-нибудь сказать мне, почему он так делает.

Ответы [ 4 ]

1 голос
/ 06 декабря 2010

потому что иногда mapState.iBufferMult == 0.

Убедитесь, что у вас нет висящего указателя.

1 голос
/ 06 декабря 2010

Потому что mapState.iBufferMult равно 0 в случаях, когда выражением является БЕСКОНЕЧНОСТЬ. Что-то в вашей программе устанавливает его на 0. Зарегистрируйте его и результат деления и проверяйте каждый раз.

0 голосов
/ 06 декабря 2010

Поскольку некоторые времени, mapState равен нулю или mapState.iBufferMult равно 0.

Или проблема лежит за пределами этой строки.

Может быть, установить точку останова и остановиться, когда zoomLimit имеет значение INFINITY.

0 голосов
/ 06 декабря 2010

Может кто-нибудь сказать мне, почему он так поступает?

Да, я могу: когда mapState.iBufferMult равно 0 (ноль), то:

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

Решите проблему mapState.iBufferMult, и вы ее решили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...