Search code examples
swiftcabasicanimation

how to repeat animation forever in Swift (HUGE_VALF)?


According to the docs, the way to repeat a CABasicAnimation forever is to set its repeatCount to HUGE_VALF.

But in Swift, HUGE_VALF causes a compile error. Swift doesn't seem to know about the standard library (or wherever this constant resides).

What do I do now?


Solution

  • Set the repeatCount to Float.infinity. This compiles and works.

    In all probability, HUGE_VALF was a legacy value in any case.

    Still, it's a bit of a surprise that these numeric constant names are not seen by Swift. I did try importing <stdlib.h> in the bridging header but it didn't help.


    But please see now Martin R's answer. Since the time when I posted my answer, Apple has stated their preferred answer explicitly: use .greatestFiniteMagnitude. It is almost the same thing as .infinity but not quite!