尽管您可以将亚秒级的时间传递给 performSelector:withObject:afterDelay:,但对于 1 秒以下的任何延迟,计时器似乎会尽快触发。例如,如果我将延迟设置为 100 毫秒 (0.100) 或 10 毫秒 (0.010),计时器仍将在 2 或 3 毫秒内触发。这是一个已知的限制吗?
对于 performSelection:withObject:afterDelay:,延迟的文档如下:
延迟 — 发送消息之前的最短时间。指定延迟为 0 不一定会导致选择器立即执行。选择器仍在线程的运行循环中排队并尽快执行。
将此与 NSTimer 进行比较,文档中的内容如下:
seconds — 计时器触发之间的秒数。如果秒小于或等于 0.0,则此方法选择 0.1 毫秒的非负值。
当提供负值时,performSelector:withObject:afterDelay: 似乎使用它的延迟设置,就像 NSTimer 的秒设置一样。
任何人都可以确认这是正确的吗?