2016-11-20 3 views
0

메일로 사용자가 충돌하고 여러 번 동일한 충돌이 발생했습니다. 사용자는 충돌이 발생한 방법을 설명하는 충돌과 함께 나에게 의견을 보낼 수 있지만 아무도이 문제에 관해 아무 것도 말하지 않았습니다. 그래서 기본적으로, 나는 11 월에만 9 번 일어난 재현 방법을 모르는 버그입니다.NSCollectionView (NSRangeException)와 함께 이상한 충돌이 발생했습니다.

이 컬렉션 뷰는 내 프로그램에서 중요한 부분이므로 대부분의 사용자가 항상이 프로그램을 사용하므로이 충돌이 거의 발생하지 않습니다. macOS 버전과 관련된 패턴은 없습니다 (다른 버전에서 발생했습니다).

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 

내가 물어 주시기었지만 내가 말을하기가 매우 어렵다 버그를 재현 할 수없는 점을 고려 놓친 모든 세부 사항이있는 경우.

+0

컬렉션보기의 경우 데이터 소스 메소드를 추가하십시오. 중요한 쌍은 collectionView : numberOfItemsInSection : 및 collectionView : cellForItemAtIndexPath :입니다. 두 가지 모두 동일한 상태에서 동일한 배열을 사용하는 것이 중요합니다. – danh

+0

이것은 MacOS의 컨텐츠 배열 레이아웃입니다.이 기능은 사용되지 않습니다. 콜렉션 뷰의 내용은'setContent :'함수만으로 변경된다. – vitormm

답변

0

귀하의 데이터는 색인 번호 이상입니다. 그것을 동적으로하십시오. 나는 당신이 정적 인 가치를 반환한다고 생각합니다.

+0

나는 당신의 대답을 정확하게 이해할 수 있을지 모르겠다. 정적 값을 반환하지 않습니다. 위의 콜렉션 뷰가 제대로 작동하고 있고 내용이 사용자 액션 (setContent :'함수를 호출 할 때)에 따라 바뀌 었다고 언급 했는가? – vitormm

+0

은 세 가지 컬렉션보기 메소드를 모두 공유합니다. 그럼 내가 해결할거야. –

+0

나는 질문 주석에서 말했듯이, 나는 콜렉션 뷰의 내용 배열 레이아웃을 macOS에서 사용하고 있는데, 이는 콜렉션 뷰 메소드가 없다는 것을 의미한다. 나는'setContent :'함수를 사용하여 콜렉션 뷰의 내용을 변경한다. – vitormm

관련 문제