swift4を使ってある時間からの実行処理を行いたいと思っています。

例えば、
05:40:32からあるfunctionを動かしたいと思い、できるだけ正確な時間から起動したいと思っています。

この場合、1秒とか500msごとに05:40:32が過ぎたかどうかチェックして実行処理をすることを考えましたが、できるだけ正確に始めたいと思ったら、この間隔を短くすることしか思いつきませんでした。

もっとスマートなプログラムの仕方はないのでしょうか。
ご存知の方はご教示お願いします。