为什么这个变量被认为不是数字

why is this variable considered to not be a number

我写出了这段代码,然后在计时器上触发了一个 println 语句,但是打印到控制台的所有内容都是 "nan"

    var songTime = CMTimeGetSeconds(player.currentTime())

我不知道为什么这被认为不是数字以及如何将它转换为一个数字。

您可以通过以下方式检查它是否有效:

if (isnan(songTime)) {
    // doing ...
}

您得到 var = "nan" 的一种情况是用分母 = 0 进行除法。仔细检查 CMTimeGetSeconds(player.currentTime())

我刚刚尝试了这段代码,它工作得很好。我必须得出结论 player.currentTime() 不是 CMTime。

   var songTime = CMTimeGetSeconds(CMTimeMake(64, 125))
    print(songTime)

...有时 xcode 故障,我只是删除文件构建项目中的所有内容。然后控制 z 删除撤消它并构建项目才发现它突然工作。