Sono alle prese con questo problema di arresto anomalo intermittente sul mio UITableView che ha UICollectionViews.Arresto di coerenza interna UIScrollView
Ho un controller di navigazione cui radice vista del regolatore un'ampia
- UITableView con 3 sezioni
- Ogni sezione ha una fila
- Ogni riga ha un UICollectionView
- La riga superiore di UITableView (che è una vista insieme) viene fatto scorrere automaticamente in base a NSTimer.
L'arresto anomalo si verifica quando si inserisce il controller di navigazione e si apre e indietro. Succede quando faccio spingere e popping 3-4 volte
La traccia:
Thread 0 Crashed:
0 libobjc.A.dylib 0x38f74626 objc_msgSend + 6
1 UIKit 0x312a6740 -[UIScrollView(UIScrollViewInternal) _notifyDidScroll] + 60
2 UIKit 0x31020798 -[UIScrollView setContentOffset:] + 600
3 UIKit 0x312a76b6 -[UIScrollView(UIScrollViewInternal) _adjustContentOffsetIfNecessary] + 1394
4 UIKit 0x310d33d2 -[UIScrollView(UIScrollViewInternal) _stopScrollingNotify:pin:tramplingDragFlags:] + 414
5 UIKit 0x310d322a -[UIScrollView(UIScrollViewInternal) _stopScrollingNotify:pin:] + 26
6 UIKit 0x310d31e2 -[UIScrollView removeFromSuperview] + 26
7 UIKit 0x31001952 -[UIView dealloc] + 374
8 CoreFoundation 0x2e700140 CFRelease + 556
9 CoreFoundation 0x2e70b668 -[__NSArrayM dealloc] + 156
10 libobjc.A.dylib 0x38f79b66 objc_object::sidetable_release(bool) + 170
11 libobjc.A.dylib 0x38f7a0ce (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 354
12 CoreFoundation 0x2e70347c _CFAutoreleasePoolPop + 12
13 CoreFoundation 0x2e798f0e __CFRunLoopRun + 1310
14 CoreFoundation 0x2e703724 CFRunLoopRunSpecific + 520
15 CoreFoundation 0x2e703506 CFRunLoopRunInMode + 102
16 GraphicsServices 0x336726ce GSEventRunModal + 134
17 UIKit 0x3106486c UIApplicationMain + 1132
18 BoatSenzeDev 0x00110648 main (main.m:16)
19 libdyld.dylib 0x39468ab4 start + 0
Questo bug non è solo accadendo in iOS 8. Sto ottenendo rapporti su Crashlytics su questo da iOS8.1.3 e iOS7.1.2, iPad 2 e iPad Mini. Ma il 90% di iOS8 in effetti. Poiché l'eccezione non getta sul mio dispositivo e sui miei simulatori, devo aspettare un'altra release di App Store per verificare che ciò abbia effettivamente risolto l'errore. –
@RobvanderVeer perché non profili la tua app con gli strumenti e controlli gli zombi? Oppure puoi eseguire l'app sul tuo iPhone disconnesso: fare in modo che la tua app si blocchi, quindi riconnettersi, aprire Dispositivi da Xcode e dovresti riuscire a vedere i registri degli arresti anomali. –
Grazie a @IslamQ, sono riuscito a riprodurre l'arresto con uno scrolling pesante sulla scrollview e quindi passare rapidamente alle visualizzazioni. Il mio ultimo aggiornamento includeva la correzione dealloc su tutti i miei controller di visualizzazione di TableView e tutti i relativi arresti anomali sono scomparsi, inclusi iOS7, 8, 8.1 e 8.2beta –