SwiftUI измеряет время создания для каждого представления - PullRequest
1 голос
/ 06 мая 2020

Я разрабатываю приложение SwiftUI для MacOS, и я хотел бы измерить время для каждого представления, которое ему нужно, пока оно не будет создано / появится.

Я придумал подход, начинающий время в init() метода представления и остановки времени в методе didAppear() моего представления.

var start : CFAbsoluteTime  

init()
{
    start = CFAbsoluteTimeGetCurrent()
}

var body: some View
{
    NavigationView
    {
        ...
    }.onAppear()
    {
        let diff = CFAbsoluteTimeGetCurrent() - self.start

        print("Took \(diff) seconds")
    }
}

Этот подход действительно работает, но на добавление этого ко всем моим представлениям уходит много времени (возможно, более 100). Есть ли более простое решение, возможно, какой-либо инструмент отладки для активации?

Некоторым из моих представлений требуется больше времени для загрузки, возможно, из-за @FetchRequest, однако я хочу исследовать, какие представления требуют больше всего времени . Может быть, у кого-то есть лучший подход для SwiftUI.

...