NSTimeInterval
— это double
, поэтому он не может принимать nil
, а 0 означает то, что должно произойти немедленно. Есть ли константа, означающая «никогда»… или астрономически огромное значение, или мне следует использовать -1?
Какая константа представляет никогда для NSTimeInterval?
Ответы (1)
Как предложил s.bandara, используйте очень большое число, чтобы рассматривать временной интервал как «бесконечный» или «никогда».
DBL_MAX
— это наибольшее значение, которое может содержать двойник. Этот макрос объявлен в float.h
:
#define DBL_MAX (9.999999999999999e999)
person
Community
schedule
19.11.2015
Бесконечность — это не то же самое, что
DBL_MAX
.
- person jscs; 19.11.2015
DBL_MAX настолько близок к бесконечности, насколько это возможно для двойного значения. Я сделал этот ответ вики сообщества на основе комментария к вопросу. Вы можете редактировать его, чтобы улучшить ответ.
- person JAL; 19.11.2015
Нет, это не так, в IEEE 754 есть специальное значение с плавающей запятой для представления бесконечности. Я действительно не понимаю, как это отредактировать, не переписав полностью.
- person jscs; 19.11.2015
Поэтому не стесняйтесь писать свой собственный ответ, если считаете, что этот ответ недостаточен.
- person JAL; 19.11.2015
double
может приниматьinf
значений. Вы можете протестировать сisinf(x)
или(x > DBL_MAX)
. - person s.bandara   schedule 28.01.2015