To zdarza się bardzo rzadko. Oto ostatnia linia ślad stosu:crash_group_leave crash w swift
0 libdispatch.dylib 0x0000000197a85a9c dispatch_group_leave + 48
dispatch_group_leave nazywa się w pełnym zamknięciem który wywołał tak:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),
{() -> Void in
let query = HKStatisticsCollectionQuery(quantityType: quantityType,
quantitySamplePredicate: nil,
options: statisticOptions,
anchorDate: anchorDate,
intervalComponents: interval)
query.initialResultsHandler = {
complete()
Więc wysyłki do wątku tła, uruchom HKStatisticsCollectionQuery i następnie wywołaj zamknięcie parametru funkcji o nazwie complete. Inside complete to miejsce, w którym wywołana jest grupa dispatch_group_leave i następuje awaria.
Wszelkie pomysły są najbardziej cenione! Dzięki!
Interesujące. Mam hasło przed wywołaniem pierwszego zamknięcia. hmmm. – jestro
Myślę, że to było to. Niektóre liście zaczęto nazywać zbyt szybko. Przeniesiono wszystkie wejścia i powiadomienie, zanim można będzie wywołać liście. Dzięki! – jestro
@mustafa jest sposób, aby zapobiec przypadkowi wywołania dispatch_group_leave więcej niż powinien? np. w przypadkach, w których nie jestem w stanie stwierdzić na pewno, że blok zakończenia - którego wywołano w nazwie dispatch_group_leave - nie będzie wywoływany więcej niż raz? – ofer2980