NSTableView
의 선택한 행에 추가 정보가있는 NSPopover
을 표시하려고합니다. 이를 위해 나는 그래서 그것을 내 팝 오버를 "연결"할 수있는 선택 행의 뷰 표현에 대한 참조를 가져해야합니다NSTableView rowViewAtRow : 항상 nil 반환
NSInteger row = [[self membersTableView] selectedRow];
NSTableRowView *aView = [[self membersTableView] rowViewAtRow: row makeIfNecessary: YES];
[self setQuickLookPopoverController: [QuickLookPopoverController showPopoverFor: anObject at: aView]];
을 상기에서, aView
의 결과는 항상 전무하다. Apple documentation에 따르면, 이것은 선택된 행이 주어 졌을 때 뷰 객체를 얻는 방법입니다. 특히 토론의 마지막 문장은 약간 이상해 :
토론이 방법은 먼저 현재 가시 영역에서보기를 표시 반환하려고 시도합니다. 가시적 인보기가없고 makeIfNecessary가 YES이면 준비된 임시보기가 리턴됩니다. makeIfNecessary가 NO이고 뷰가 표시되지 않으면 nil은 이 반환됩니다.
일반적으로 보기가 필요하면 makeIfNecessary를 선택하고 을 사용할 수있는 경우에만보기의 속성 만 업데이트하려는 경우 (일반적으로 보이는 것을 의미) NO를 사용해야합니다.
row가 numberOfRows 내에 없으면 예외가 발생합니다. 결과는 일반적으로 현재 실행 루프 사이클 보다 길게 유지되지 않아야합니다. rowViewAtRow : makeIfNecessary :보기가 필요할 때마다 ...
이 메서드는 항상 nil을 반환하는 이유는 무엇입니까?