2010-12-06 3 views
0

Я получаю проблему бесконечности в приложении iPhon. Проблема очень странная. Мне нужно вычислить предел масштабирования, используя следующую формулу.Проблема INFINITY при делении iOS

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

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

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

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

ответ

0

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

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

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

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

+0

Проблема soved спасибо – Anis

+0

@Anis: добро пожаловать. –

1

Потому что mapState.iBufferMult равно 0 в случаях, когда выражение является INFINITY. Что-то в вашей программе устанавливает значение 0. Запишите его и результат деления и проверьте каждый раз.

1

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

Проверьте, нет ли у вас висячего указателя.

0

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

Или проблема лежит вне этой линии.

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