У меня появилось несколько отчетов о сбоях, связанных с UICollectionView в iOS 7. Я не могу последовательно воссоздать этот сбой.UICollectionView crash on unhighlightAllItems
Exception Type: SIGSEGV
Exception Codes: SEGV_ACCERR at 0x91c4392b
Crashed Thread: 0
Application Specific Information:
*** Terminating app due to uncaught exception '', reason: ''
Thread 0 Crashed:
0 libobjc.A.dylib 0x39dd2b26 objc_msgSend + 6
1 UIKit 0x31fd5eef -[UICollectionView cellForItemAtIndexPath:] + 111
2 UIKit 0x32060bfd -[UICollectionView _unhighlightItemAtIndexPath:animated:notifyDelegate:] + 149
3 UIKit 0x32383947 -[UICollectionView _unhighlightAllItems] + 151
4 UIKit 0x3205f9fb -[UICollectionView touchesBegan:withEvent:] + 367
5 UIKit 0x31fcb101 forwardTouchMethod + 233
6 UIKit 0x31fcb101 forwardTouchMethod + 233
7 UIKit 0x31e3be4b _UIGestureRecognizerUpdate + 5523
8 UIKit 0x31e73c41 -[UIWindow _sendGesturesForEvent:] + 773
9 UIKit 0x31e735e7 -[UIWindow sendEvent:] + 667
10 UIKit 0x31e48a25 -[UIApplication sendEvent:] + 197
11 UIKit 0x31e47221 _UIApplicationHandleEventQueue + 7097
12 CoreFoundation 0x2f69e18b __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
13 CoreFoundation 0x2f69d6e1 __CFRunLoopDoSources0 + 341
14 CoreFoundation 0x2f69be4f __CFRunLoopRun + 623
15 CoreFoundation 0x2f606ce7 CFRunLoopRunSpecific + 523
16 CoreFoundation 0x2f606acb CFRunLoopRunInMode + 107
17 GraphicsServices 0x342f4283 GSEventRunModal + 139
18 UIKit 0x31ea8a41 UIApplicationMain + 1137
19 JackThreadsIpad 0x000922b7 main (main.m:16)
В UICollectionViewCells в доле приложении общий суперкласс, который управляет подсветку. Когда ячейка подсвечена, альфа меняется.
- (void)setHighlighted:(BOOL)highlighted {
[super setHighlighted:highlighted];
if (highlighted) {
self.alpha = 0.8;
} else {
self.alpha = 1.0;
}
}
Могло называться [super setHighlighted: highlight] вызвать сбои, подобные этому? Приложение было скомпилировано и отправлено с XCode 4 и происходит только на iOS 7. Любые другие предложения, чтобы выяснить, где это происходит. Спасибо за вашу помощь.
Редактировать: Я смог поймать это в отладчике, но он все еще не воспроизводится последовательно. Авария:
[NSIndexPath section] message sent to deallocated instance XXXXXXXX
Вы добавили точки останова в setHighlighted и cellForItemAtIndexPath? Что происходит, когда вы проходите, где он падает. – Tim
Я не видел этого сбоя в моей среде разработки - это и подобные отчеты о сбоях пришли через iTunes Connect и Crittercism –
Извините, я пропустил линию, в которой вы сказали, что не можете ее воспроизвести – Tim