2016-11-20 3 views
0

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.

+0

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

+0

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

Antwort

0

Ihre Daten sind mehr als Ihre Indexnummer. Bitte mach es dynamisch. Ich denke, du gibst einen statischen Wert zurück.

+0

Ich weiß nicht, ob ich deine Antwort richtig verstanden habe. Ich gebe keine statischen Werte zurück. Hat ich oben gesagt, funktioniert die Sammlungsansicht ordnungsgemäß und ihr Inhalt ändert sich abhängig von den Benutzeraktionen, das heißt, wenn ich die 'setContent:' Funktion aufruft. – vitormm

+0

teilen Sie alle drei Methoden der Sammlungsansicht hier. Dann werde ich es auflösen. –

+0

Hat ich im Fragekommentar gesagt, benutze ich das Inhalts-Array-Layout der Sammlungsansicht von macOS, was bedeutet, dass es keine Sammlungsansichts-Methoden gibt. Ich ändere den Inhalt der Sammlungsansicht mit der Funktion 'setContent:'. – vitormm

Verwandte Themen