그래서 NSCollectionView에 노래 목록이 있습니다. NSCollectionView가 나타내는 내가 그 배열을 업데이트 할 때 일반적으로 UI는 그 변화를 반영dispatch_async를 사용할 때 NSCollectionView UI가 업데이트되지 않습니다.
사진 : http://cl.ly/image/1D3A1o192k3W 코드
:
이[self setCurrentPlaylist:[HMRequest playlistPopular3Day]];
(참고 : _currentPlaylist는 배열, [HMRequest playlistPopular3Day]
노래의 배열을 반환)
하지만 내가 갑자기 UI를 사용하면 dispatch_async
을 사용하려고합니다. NSCollectionView의 보이는 부분은 업데이트되지 않지만 아래로 스크롤하면 이전에 숨겨진 부분이 올바르게 업데이트됩니다. http://cl.ly/image/3y0f212Y3W3S
코드 :
dispatch_queue_t aQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
dispatch_async(aQueue, ^{
[self setCurrentPlaylist:[HMRequest playlistPopular3Day]];
});
사진 (나는 조금 스크롤 한, 빈 흰색 이전에 볼 수 무엇이며, 노래는 숨겨진 스크롤 뷰의 일부) 빈 UI 섹션을 피하는 데 도움이 되셨습니까?
좋아, 그거 지워. 고마워요, 진짜 빠르 네요. NSTableView 대신에'NSCollectionView'를 사용할 때의 예가 무엇입니까? –
@AlexMarchant 나는 그것이 보이지 않을지라도, 한번에 모든 뷰를 생성한다는 사실 때문에 결코'NSCollectionView'를 사용하지 않을 것입니다. 하지만 여러 열에 내용을 표시 할 필요가있을 때 (부끄러운 셀프 플러그) JUCollectionView와 같은 대안을 사용할 것입니다. – JustSid
고맙습니다. JUCollectionView, github 살펴 보겠습니다. –