이것은 실제 질문 대신 일반적인 토론 일 수 있습니다. NSTableView와 NSOutlineView를 사용하기 시작했을 때, NSView의 인스턴스가 거의 모든 것을 할 수 있다고 생각했습니다. 그래서 NSView 인스턴스를 델리게이트와 데이터 소스로 리턴한다.NSTableView가 NSView 대신 NSCell을 사용하는 이유는 무엇입니까?
Citect는 작동하지 않았고 NSObject에서 직접 상속 한 NSCell 인스턴스를 NSTableView가 사용한다는 사실을 깨달았습니다.
코코아가 NSCell을 기반으로 NSTableView를 만든 이유를 이해하는 것이 중요 할 수 있다는 것을 느꼈습니다. 그러나 그것을 분명히 설명하는 문서는 거의 없습니다. 따라서 나는 Stackoverflow 차례. 누구는 그것을 압니까? 미리 감사드립니다! 당신은 문자열을 표시하려면
Lion 이후 NSCell 셀 대신 NSView 셀을 사용할 수 있습니다. http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/TableView/ViewBasedTables/ViewBasedTables.html을 참조하십시오. 나는'NSTableView'가 성능 때문에 NSView 셀을 사용하지 않았다고 믿지만 실제로 그것에 대해서는 확실하지 않습니다. –
@Bavarious 여러면에서 정확합니다. 원래 NSTableView는 뷰가 비교적 * 매우 * 비싸기 때문에 뷰를 셀로 사용하지 않았습니다. 셀은 거의 아무것도 아니지만 "이봐, 여기 임의의 직사각형을 그려라."자신의 드로잉 컨텍스트가 없습니다. – bbum
@Bavarious 안녕, 다시! 성능 문제 ... 나는 그것에 대해 생각하지 않았다. 당신이 링크 한 문서는 좋을 것입니다. 이전에 [TableViewPlayground] (http://developer.apple.com/library/mac/#samplecode/TableViewPlayground/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010727)를 보았습니다. 하지만 너무 복잡해서 공부하지 않았습니다. 내가 다시 읽어야하는 것 같아. –