Ich empfange meine Benutzer stürzt per Mail ab, und ich habe den gleichen Absturz mehrmals erhalten. Benutzer können mir Kommentare mit den Abstürzen senden, die erklären, wie der Absturz aufgetreten ist, aber keiner von ihnen sagte etwas über diesen. Also, im Grunde ist es ein Fehler, von dem ich nicht weiß, wie er reproduziert werden soll, was neun Mal nur im November passiert ist.Seltsame Abstürze mit NSCollectionView (NSRangeException)
Diese Sammlung Ansicht ist ein wichtiger Teil meines Programms, so dass die meisten Benutzer es wahrscheinlich die ganze Zeit verwenden, was dazu führt, dass dieser Absturz fast nie passiert. Es gibt kein mit der macOS-Version zusammenhängendes Muster (es ist in verschiedenen Versionen passiert).
Application Specific Information:
*** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 0 beyond bounds for empty array'
terminating with uncaught exception of type NSException
abort() called
Application Specific Backtrace 1:
0 CoreFoundation 0x00007fff8fc7803c __exceptionPreprocess 172
1 libobjc.A.dylib 0x00007fff88e2876e objc_exception_throw 43
2 CoreFoundation 0x00007fff8fb4fbce -[__NSArrayI objectAtIndex:] 190
3 AppKit 0x00007fff8ea54f3e -[NSCollectionViewItem _copyConnectionsOfObject:prototypeItem:toObject:item:] 750
4 AppKit 0x00007fff8ea54c38 -[NSCollectionViewItem _copyConnectionsToItem:] 95
5 AppKit 0x00007fff8ea52e71 -[NSCollectionViewItem copyWithZone:] 487
6 AppKit 0x00007fff8ea52c20 -[NSCollectionView newItemForRepresentedObject:] 68
7 AppKit 0x00007fff8ea527b3 -[NSCollectionView _getItemsToDisplay] 1168
8 AppKit 0x00007fff8ea52205 -[NSCollectionView setContent:] 217
9 MyApp 0x000000010e3ae9d3 MyApp 117203
10 libdispatch.dylib 0x00007fff8cc2e323 _dispatch_call_block_and_release 12
11 libdispatch.dylib 0x00007fff8cc29c13 _dispatch_client_callout 8
12 libdispatch.dylib 0x00007fff8cc35cbf _dispatch_main_queue_callback_4CF 861
13 CoreFoundation 0x00007fff8fbcb3f9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ 9
14 CoreFoundation 0x00007fff8fb8668f __CFRunLoopRun 2159
15 CoreFoundation 0x00007fff8fb85bd8 CFRunLoopRunSpecific 296
16 HIToolbox 0x00007fff8bae056f RunCurrentEventLoopInMode 235
17 HIToolbox 0x00007fff8bae02ea ReceiveNextEventCommon 431
18 HIToolbox 0x00007fff8bae012b _BlockUntilNextEventMatchingListInModeWithFilter 71
19 AppKit 0x00007fff8e6f49bb _DPSNextEvent 978
20 AppKit 0x00007fff8e6f3f68 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] 346
21 AppKit 0x00007fff8e6e9bf3 -[NSApplication run] 594
22 AppKit 0x00007fff8e666354 NSApplicationMain 1832
23 libdyld.dylib 0x00007fff8ae8a5c9 start 1
Wenn es irgendein Detail ist, dass ich verpasst fragen fiel auf, aber wenn man bedenkt, dass ich den Fehler nicht reproduzieren kann es sehr schwer zu sagen.
Fügen Sie für die Sammlungsansicht die Datenquellenmethoden hinzu. Das wichtige Paar ist collectionView: numberOfItemsInSection: und collectionView: cellForItemAtIndexPath :. Es ist wichtig, dass beide dasselbe Array im selben Zustand verwenden. – danh
Es ist ein Content-Array-Layout von Mac OS, diese Funktionen werden nicht verwendet. Der Inhalt der Sammlungsansicht wird nur mit der Funktion 'setContent:' geändert. – vitormm