Какая константа представляет никогда для NSTimeInterval?

NSTimeInterval — это double, поэтому он не может принимать nil, а 0 означает то, что должно произойти немедленно. Есть ли константа, означающая «никогда»… или астрономически огромное значение, или мне следует использовать -1?


person devios1    schedule 28.01.2015    source источник
comment
double может принимать inf значений. Вы можете протестировать с isinf(x) или (x > DBL_MAX).   -  person s.bandara    schedule 28.01.2015


Ответы (1)


Как предложил s.bandara, используйте очень большое число, чтобы рассматривать временной интервал как «бесконечный» или «никогда».

DBL_MAX — это наибольшее значение, которое может содержать двойник. Этот макрос объявлен в float.h:

#define DBL_MAX (9.999999999999999e999)
person Community    schedule 19.11.2015
comment
Бесконечность — это не то же самое, что DBL_MAX. - person jscs; 19.11.2015
comment
DBL_MAX настолько близок к бесконечности, насколько это возможно для двойного значения. Я сделал этот ответ вики сообщества на основе комментария к вопросу. Вы можете редактировать его, чтобы улучшить ответ. - person JAL; 19.11.2015
comment
Нет, это не так, в IEEE 754 есть специальное значение с плавающей запятой для представления бесконечности. Я действительно не понимаю, как это отредактировать, не переписав полностью. - person jscs; 19.11.2015
comment
Поэтому не стесняйтесь писать свой собственный ответ, если считаете, что этот ответ недостаточен. - person JAL; 19.11.2015