Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何从NSOutlineView获取所选单元格?_Objective C_Macos_Cocoa - Fatal编程技术网

Objective c 如何从NSOutlineView获取所选单元格?

Objective c 如何从NSOutlineView获取所选单元格?,objective-c,macos,cocoa,Objective C,Macos,Cocoa,如何从NSOutlineView获取所选单元格? 不是项目,而是单元格。 不是数据单元,而是当前单元本身 这是一个基于单元格的NSOutlineView。使用委托willDisplayCell:在单元格更改其选择状态时调用 - (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item {

如何从NSOutlineView获取所选单元格? 不是项目,而是单元格。 不是数据单元,而是当前单元本身


这是一个基于单元格的NSOutlineView。

使用委托<代码>willDisplayCell:在单元格更改其选择状态时调用

- (void)outlineView:(NSOutlineView *)outlineView willDisplayCell:(id)cell forTableColumn:(NSTableColumn *)tableColumn item:(id)item {
    id selectedItem = [outlineView itemAtRow:outlineView.selectedRow];
    if (item == selectedItem) {
        // 'cell' is selected cell for 'tableColumn'
    }
}
另请参见

使用
NSOutlineViewDeleteGate
的“处理选择”部分中的方法。
func getSelectedCell() -> NSTableCellView? {
    if let view = outlineView.rowView(atRow: outlineView.selectedRow, makeIfNecessary: false) {
        return view.view(atColumn: outlineView.selectedColumn) as? NSTableCellView
    }
    return nil
}