#swiftui
Вопрос:
Эта ошибка возникает периодически, но последовательно в моем приложении SwiftUI, но, к сожалению, только после того, как оно работает довольно долго. Кто-нибудь может подсказать, как я это диагностирую? Я просто перехожу к атрибуту @main моего приложения SwiftUI, так что это не похоже на пользовательский код. Вероятно, это ошибка SwiftUI? И если да, то есть какие-нибудь предложения о том, как мне найти способ обойти это?
#0 0x0000000195eff214 in specialized Array._checkSubscript(_:wasNativeTypeChecked:) ()
#1 0x000000019637c7ec in SharedFrame.updateValue() ()
#2 0x00000001960c6a9c in partial apply for specialized implicit closure #2 in implicit closure #1 in closure #1 in closure #1 in Attribute.init<τ_0_0>(_:) ()
#3 0x00000001b66e414c in AG::Graph::UpdateStack::update() ()
#4 0x00000001b66e455c in AG::Graph::update_attribute(AG::data::ptr<AG::Node>, bool) ()
#5 0x00000001b66ed0c4 in AG::Subgraph::update(unsigned int) ()
#6 0x00000001966cfe80 in GraphHost.runTransaction() ()
#7 0x00000001962443b8 in ViewGraph.updateOutputs(at:) ()
#8 0x0000000196639444 in closure #1 in ViewRendererHost.render(interval:updateDisplayList:) ()
#9 0x000000019663178c in ViewRendererHost.render(interval:updateDisplayList:) ()
#10 0x000000019678d064 in _UIHostingView.layoutSubviews() ()
#11 0x000000019678d090 in @objc _UIHostingView.layoutSubviews() ()
#12 0x0000000192a1b288 in -[UIView(CALayerDelegate) layoutSublayersOfLayer:] ()
#13 0x0000000192f1eb2c in -[CALayer layoutSublayers] ()
#14 0x0000000192f24ff8 in CA::Layer::layout_if_needed(CA::Transaction*) ()
#15 0x0000000192f30314 in CA::Layer::layout_and_display_if_needed(CA::Transaction*) ()
#16 0x0000000192e7c570 in CA::Context::commit_transaction(CA::Transaction*, double, double*) ()
#17 0x0000000192ea66f8 in CA::Transaction::commit() ()
#18 0x000000019250f0d0 in _UIApplicationFlushRunLoopCATransactionIfTooLate ()
#19 0x00000001925b5ea8 in __processEventQueue ()
#20 0x00000001925acee0 in __eventFetcherSourceCallback ()
#21 0x000000018fc2dbe0 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ ()
#22 0x000000018fc2dae0 in __CFRunLoopDoSource0 ()
#23 0x000000018fc2ce28 in __CFRunLoopDoSources0 ()
#24 0x000000018fc273d0 in __CFRunLoopRun ()
#25 0x000000018fc26b90 in CFRunLoopRunSpecific ()
#26 0x00000001a5f49598 in GSEventRunModal ()
#27 0x0000000192510638 in -[UIApplication _run] ()
#28 0x0000000192515bb8 in UIApplicationMain ()
#29 0x000000019666c564 in closure #1 in KitRendererCommon(_:) ()
#30 0x000000019666c4f4 in runApp<τ_0_0>(_:) ()
#31 0x000000019623e38c in static App.main() ()
#32 0x0000000102a9feb8 in static XXXXApp.$main() at
Комментарии:
1.
AG::Graph
(см. строку 3 и др.) — это график внутренних атрибутов SwiftUI, поэтому он выполняет то, что вызывает индекс массива, которого не существует. Это может быть внутренняя ошибка SwiftUI, или это может быть побочным продуктом изменения состояния таким образом, что SwiftUI не обнаруживает (или последнее раскрывает первое). Какой код представления вы используете при возникновении сбоя?