제 설정에서 Mac에 연결된 볼륨의 NSCollectionView가 있습니다. NSCollectionViewItem의 뷰에는 해당 볼륨의 내용을 나열하는 NSTableView가있는 NSBox가 있습니다.NSCollectionViewItem의 인스턴스에서 NSTableView 업데이트
NSTableView에 항목을 추가/제거하려고 할 때 문제가 발생합니다. NSBox는 한 번 초기화 된 것으로 보이므로 NSTableView가 하나뿐입니다. 즉, NSTableView 내부의 데이터를 업데이트하려고 할 때 IBOutlet에서 reloadData를 호출하여 모든 테이블을 업데이트 할 수 없음을 의미합니다.
NSBox의 하위 클래스에 IBOutlet을 만들면 인스턴스에 대해 nil이므로 인스턴스를 통해 호출 할 수 없습니다.
가장 가까운 곳은 열의 행에있는 객체를 반환하는 코드 주위에 @try @catch를 묶는 것입니다. 해당 항목이 더 이상 존재하지 않으므로 예외가 발생하므로 tableView를 가져 와서 reloadData 그 특정 NSTableView 업데이트 할 것으로 보인다.
제거 된 항목이 테이블 끝에 있거나 항목이 추가되면 모든 기존 항목을 볼 수 있으므로 예외가 발생하지 않습니다.
누구나 NSCollectionViewItem의보기에서 NSTableView에 대한 경험이 있습니까? 어떻게 테이블을 업데이트 했습니까?
[NSCollectionView에 대한 블로그 게시물] (http://benedictcohen.co.uk/files/5b81e3c40cee2daf88ceffe6eb556a63-3.php)을 작성하면 도움이 될 것입니다. –
가이드를 가져 주셔서 감사합니다. 당신이 작성한 이후로 상황이 많이 바뀌 었는지는 확실치 않지만, -LoadFromNib가 존재하지 않고 대신 -loadNibNamed를 사용하는 것으로 나타났습니다. – Septih