[[NSDate date] timeIntervalSince1970];
Это возвращает число секунд с эпохи как двойное. Я почти уверен, что можно получить доступ к миллисекундам от дробной части.
Если вы хотите использовать это для относительного времени (например, для игр или анимации), я бы предпочел использовать CACurrentMediaTime()
double CurrentTime = CACurrentMediaTime();
Это рекомендуемый способ; NSDate
берет данные из сетевых синхрочасов и будет иногда икать при повторной синхронизации с сетью.
Он возвращает текущее абсолютное время в секундах.
Если вам нужна только десятичная часть (часто используется при синхронизации анимации),
let ct = CACurrentMediaTime().truncatingRemainder(dividingBy: 1)